خط اشتراک دیجیتال

خط دیجیتال مشترک (دی.اس.ال) یا (DSL) از دسته فناوری‌هایی است که انتقال مخابراتی اطلاعات دیتا را به وسیله سیم‌های ارتباطی در یک شبکه تلفنی محلی فراهم می‌آورد.







DSL (خط اشتراک دیجیتال)

شاخه‌ای از تکنولوژی است که اطلاعات را از طریق شبکه کابلی تلفن محلی انتقال می‌دهد. DSL ابتدا برای یک حلقه ارتباطی دیجیتال شکل گرفت. در بازار یابی ارتباطات رادیویی اصطلاح DSL با معنی خط اشتراک دیجیتال نامتقارن (ADSL) قابل فهم و شناخته شده می‌باشد که متداول ترین شیوه استفاده از فناوری DSL می‌باشد. خدمات DSLاز طریق خط تلفن معمولی به طور همزمان با صدا قابل اجرا است. این امر به دلیل این است که فناوری DSL از فرکانس بالاتری نسبت به صوت استفاده می‌کند در نتیجه تداخلی بین اطلاعات دیجیتال و صوت به وجود نمی‌آید. سرعت انتقال داده‌ها با استفاده از پروتکل DSL به طور معمول از ۲۵۶ کیلو بیت بر ثانیه تا ۴۰ مگا بیت بر ثانیه بسته به نوع تکنولوژی DSL، شرایط خطوط تلفن و سطح خدمات سرویس دهنده می‌باشد. در ADSL توان انتقال داده‌ها در جهت معکوس یعنی ارسال کمتر از دانلود می‌باشد از این روADSL)خط اشتراک دیجیتال نامتقارن (نامید شده در خط اشتراک دیجیتال متقارن (SDSL) سرعت دانلود و آپلود (نرخ انتقال داده در جهت آپلود و دانلود) برابر است.







دمودولاتور

دمودولاتور در گیرنده سیگنال پیام را از روی سیگنال حامل پیاده می کنند، به این عمل دمودولاسیون یا آشکار سازی پیام می گویند . در این صورت کافی است طول آنتن به گونه ای باشد که بتواند سیگنال RF یا همان سیگنال حامل را دریافت کند . ضمناایستگاه‌های متفاوت می توانند حامل هایی با فرکانس مختلف داشته باشند تا پیامها تداخل نکنند.

وظیفه دمدلاتور در یک سیستم مخابراتی، تشخیص یکی از دو سیگنال ارسال شده در فرستنده است. درواقع وظیفه دمدلاتور، عکس وظیفه مدلاتور، تبدیل شکل موج سینوسی دریافتی به صفر و یک است. یعنی دمدلاتور باید فرکانس موج سینوسی را اندازه گرفته و متناسب با تعریف اولیه، صفر و یک منطقی را در خروجی آشکار نماید. باتغییر فرکانس موج سینوسی، سطح منطقی از یک به صفر و بالعکس تغییر می‌کند.








سوارسازی سایدباند تکی
در ارتباطات رادیویی، سوارسازی سایدباند تکی (به انگلیسی: single-sideband modulation) (با نماد اختصاری SSB) یک بهبودسازی برای مدولاسیون دامنه است که از توان ارسال و پهنای باند استفادهٔ مفیدتری می‌کند. مدولاسیون دامنه از پهنای باندی با مقدار دوبرابر باند پایه استفاده می‌کند. سوارسازی سایدباند تکی از این دوبرابر شدن پهنای باند و انرژی اتلاف شده جلوگیری می‌کند و به جای آن هزینه‌هایی مانند پیچیدگی دستگاه‌ها دربر دارد.







مخابرات طیف گسترده

مخابرات طیف گسترده (Spread Spectrum) روش مخابراتی می‌باشد. این روش توان سیگنال ارسالی را در یک طیف فرکانسی پخش می‌نماید. این روش باعث می‌شود آشکار سازی سیگنال کار پیچیده‌ای باشد. این روش مخابراتی در برابر تداخل و اختلال و همچنین نویز پذیری پایداری بالایی دارد.

مخابراتی طیف گسترده به دو روش ۱-ترتیب مستقیم (Direct Sequence)و ۲-پرش فرکانسی (Frequency Hopping) استفاده می‌شود. این روش مخابراتی اولین بار توسط یک آهنگ ساز آمریکایی ابداع شده‌است شیوه کار این سیستم مخابراتی به این صورت است که سیگنال پیام با یک سیگنال دیگر که دارای فرکانس بالاتری از سیگنال اصلی می‌باشد (PN Code سیگنال کد طیف گسترده) یای مانعةالجمع شده و بعد به سمت مدولاسیون (FM و AM)و آنتن ارسال می‌گردد. در سمت گیرنده نیز بعد از مدولاسیون با همان سیگنال کد طیف گسترده XOR می‌شود. مطابق جدول یای مانعةالجمع اگر ورودی همنام باشند خروجی ۱ خواهد بود و در نتیجه دوبار یای مانعةالجمع با یک سیگنال اثری در سیگنال ابتدایی نخواهد داشت و در نتیجه سیگنال پیام بازیابی می‌شود. برای این که پیام دچار مشکل نشود از کد منچستر استفاده می‌شود. این کد به این صورت می‌باشد که ۱‌ها با ۱ و ۰‌ها با -۱ نشان داده می‌شوند. اگر سیگنال پیام با سیگنال دیگری غیر از سیگنال کد کننده XOR شود فرکانس حاصل فرکانسی بالاتر از فرکانس هر دو سیگنال خواهد بود بنابر این با عبور خروجی سیستم فوق از یک فیلتر پایین گذر سیگنال پیام با کیفیت خیلی خوبی به دست می‌آید. اگر سیگنال کد کننده و دیکد کننده با همدیگر همزمان نباشند نتیجه فرکانس بالا خواهد بود که در فیلتر پایین گذر حذف شده و نتیجه‌ای نخواهد داشت بنابر این در سیستم‌های طیف گسترده همزمانی مساله مهمی می‌باشد و انتخاب کد طیف گسترده باید به گونه‌ای باشد که به همزمانی کمک نماید. با توجه به مهم بودن مساله همزمانی و رد سیگنال دریافتی در صورت غیر همزمان بودن مشکل ارسال چند مسیری (مسیرهای انعکاسی) در این سیستم مخابراتی به نحو مطلوبی حل شده و تاثیر آن بسیار کم خواهد بود. مدل سیگنال کد باید به صورتی باشد که دوره‌های متناوب داخلی آن کمترین هماهنگی را با یکدیگر داشته باشد تا در قسمت هم زمانی و رد سیگنال‌های مزاحم بهترین کارایی را داشته باشد.







مدولاسیون
مدولاسیون در مهندسی عبارت است از سوار کردن سیگنال اطلاعات (سیگنال باند پایه∗ یا پیام) بر روی سیگنال معمولاً فرکانس بالاتری (سیگنال حامل∗) به منظور افزایش برد سیگنال و بهره‌وری انتقال و استفاده بهتر از پهنای باند کانال. در مدولاسیون یکی از خواص سیگنال حامل (مثلاً دامنه، فرکانس، فاز یا ...) با توجه به تغییرات سیگنال پیام تغییر داده می‌شوند. به طور کلی فرایند گنجاندن سیگنال حاوی اطلاعات در سیگنالی دیگر را مدولاسیون می نامند.همچنین اخذ سیگنال حاوی اطلاعات دمدولاسیون نام دارد.






ضرورت مدولاسیون

از پهنای باند استفاده‌ای بهینه شود و هر پیام در کانال خاصی قرار گیرد.
مسافت انتقال پیام (که در فرکانس‌های پایین کم است.) افزوده شود.

اگر کانال مخابراتی شامل فضای آزاد باشد در این صورت برای انتشار و دریافت سیگنال آنتن‌هایی مورد نیاز است طول این آنتن‌ها متناسب با طول موج سیگنال فرستاده شده‌است. بسیاری از سیگنال‌های صوتی دارای مولفه فرکانسی ۱۰۰ هرتز یا پایین تر هستند. برای ارسال این سیگنال‌ها اگر سیگنال مستقیماً انتشار یابد به آنتن‌هایی با طول حدود ۳۰۰km نیاز است. اما اگر از مدولاسیون برای سوار کردن سیگنال بر روی یک فرکانس حامل مثلاً ۱۰۰Mhz استفاده کنیم در این صورت طول آنتن‌ها حدود یک متر خواهد بود.
انواع مدولاسیون

مدولاسیون انواع مختلفی دارد. همچنین مدولاسیون به انواع آنالوگ و دیجیتال هم تقسیم می‌شود. برای اشاره به مدولاسیون‌های دیجیتال بیشتر از اصطلاح کلیدزنی (Keying) استفاده می‌شود.

در مدولاسیون سیگنال فرکانس بالا (حامل) بر اساس سیگنال پیام تغییر داده می‌شود. سیگنال حامل خواص مختلفی دارد که می‌تواند بر اساس سیگنال پیام تغییر داده شوند و از این رو انواع مختلفی از مدولاسیون پدید می‌آید.

مدولاسیون دامنه (AM): سطح یا دامنهٔ سیگنال حامل بر اساس تغییرات سیگنال پیام تغییر داده می‌شود.
مدولاسیون فرکانس (FM): فرکانس سیگنال حامل بر اساس تغییرات سیگنال پیام تغییر داده می‌شود.
مدولاسیون فاز (PM): فاز سیگنال حامل بر اساس تغییرات سیگنال پیام تغییر داده می‌شود.
مدولاسیون تقسیم فرکانس عمود برهم(ofdm):پهنای باندبین چند زیرحامل که برهم عمودهستند تقسیم می شود.

روش های مدولاسیون علاوه بر آن که امکان گنجاندن اطلاعات را بر روی سیگنالی که انتشار موثرتری دارد را فراهم می کند، این امکان را نیز می دهد که چند سیگنال دارای طیف همپوشان از طریق یک کانال انتقال یابند، این مفهوم را مالتی پلکس گویند.








مدولاسیون دامنه
یک دسته ی بزرگ از روش های مدولاسیون بر ""مدولاسیون دامنه"" یا AM پایه گذاری شده اند.آ ام یا ای ام (AM)مخفف amplitude modulation (مدولاسیون دامنه)فرایند تغییر دامنه یک موج حامل (معمولا یک موج حامل بسامد رادیویی) طبق مشخصات سیگنال یا علامتی دیگر(مانند سیگنال‌های صوتی حاصل از صدای انسان یا وسایل موسیقی)و یکی از روش‌های ارسال خبر به وسیله امواج رادیویی است. در این نوع مدولاسیون سیگنالی را که قصد انتقالش را داریم دامنه ی سیگنال دیگری را تغییر می دهد. یک شکل بسیار متداول مدولاسیون دامنه مدولاسیون دامنه سینوسی است.






مدولاسیون دامنه

مدولاسیون دامنه روشی است که در ارتباطات الکترونیکی استفاده می شود.عموما برای عبور اطلاعات توسط موج حامل رادیویی است.AM با تغییر توان سیگنال عبوری در رابطه با اطلاعاتی که فرستاده می شود کار می کند.برای مثال تغییراتی که ممکن است در توان سیگنال برای تعیین اصوات برای تولید بلند گو یا شدت نور پیکسل های تلویزیون استفاده شود.مقایسه این با مدولاسیون فرکانس در فرکانسی است که تغییر می کند و مدولاسیون فاز در فازی است که تغییر می کند.در اواسط 1870،یک شکلی از مدولاسیون دامنه(ابتدا جریا ن های موج دار نامیده می شد)اولین روش برای تولید موفقیت آمیز کیفیت صوت از خطوط تلفن بود.شروع با reginald fessenden صوتی در 1906 یک روش اصلی بود که برای عبور رادیویی صوت استفاده شد و امروزه در بسیاری از ارتباطات استفاده می شود ،AM اغلب با ارجاع به باند انتشار محیط موج بکار برده می شود.






شکل های مدولاسیون دامنه

در ارتباطات رادیویی یک سیگنال رادیو فرکانسی موج پیوسته(موج حامل سینوسی)دامنه ای دارد که توسط شکل موج صوت قبل از عبور مدوله می شود.شکل موج صوت دامنه موج حامل را اصلاح می کند و شکل موج را تعیین می کند.در محدوده ی فرکانس،مدولاسیون دامنه سیگنالی با توان متمرکز شده در فرکانس حامل و دو باند مجاور تولید می کند.هر باند کناری در پهنای باند باهم برابر است و سیگنال را مدوله می کند و تصویر آینه ای یکدیگرند.مدولاسیون دامنه در دو باند کناری نتیجه می شود و حاملی وجود دارد که مدولاسیون دامنه باند کناری نامیده می شود(DSB-AM).مدولاسیون دامنه در استفاده توان نا کارآمد است.حداقل دو سوم توان در سیگنال حامل متمرکز شده است که اطلاعات مفید را دارا نیست(فراتر از واقعیت این سیگنال موجود است).برای افزایش راندمان عبوری،حامل ممکن است متوقف شود.این یک عبور حامل کاهش یافته را تولید می کند یا DSB سیگنال حامل متوقف شده دوبرابر باند کناری.یک سیگنال AM متوقف شده بازده توان سه برابر نسبت به AM دارد.حامل تنها به صورت جزئی متوقف شده باشد یک سیگنال حامل کاهش یافته دو برابر باند کناری نتیجه می شود.برای یک نوسانگر محلی،به طور نوعی حامل متوقف شده را به حالت اول باز می گرداند.به طوریکه سیگنال با یک آشکارساز دمدوله می شود. یک شکل ساده ی AM واغلب برای ارتباطات دیجیتال بکار برده می شود و کلید روشن-خاموش است.یک نوعی از کلید زنی ،شیفت دامنه ر اطلاعات دوتایی با حضور یا عدم حضور حامل ارائه شده است.این برای مدولاتورهای رادیویی یا عبور کدهای بیشتر استفاده می شود و عملکرد موج پیوسته نامیده می شود.







مدولاسیون فرکانس

اف‌ام نوعی از پخش رادیویی است.این حروف مخفف لغات (به انگلیسی: Frequency Modulation) به معنای مدولاسیون (محفظه‌بندی) بسامد هستند. اینها سیگنال‌هایی هستند که توسط ایستگاه‌هایی رادیویی ایجاد می‌شوند و نواحی مختلف پخش می‌شوند.

FM به مدولاسیون بسامد اشاره می‌کند که در امواج هوایی (رادیویی)VHF در هرجای دیگر جهان (به غیر از ژاپن در حوزه فرکانس‌های بین ۸۸ تا ۱۰۸ مگاهرتز استفاده می‌شود. ژاپن از باند ۷۶ تا ۹۰ مگاهرتز استفاده می‌کند. ایستگاههاD FM بیشتر در مناطق و کشورهای توسعه یافته از نظر اقتصادی مانند اروپا و ایالات متحده آمریکا مخصوصا بخاطر کیفیت صدای بهتر وپخش استریو در این فرمت بیشتر معمول ومورد استفاده هستند

رادیوی FM توسط ادوین اچ آرمسترانگ در سال ۱۹۳۰ به منظور جلوگیری از مشکل تداخل ثابت در رادیوی AM اختراع شد که در مقابل تداخل مصونیت داشت. درهمین زمان، کیفیت بهتر امکان قرار گرفتن فضای ایستگاههارا در فواصل بیشتری فراهم کرد. بجای ۱۰ کیلوهرتز فضا، فضای آنها ۲۰۰ کیلوهرتز، شد و تفاوت بین پایین‌ترین فرکانس کنونی FM در ایالات متحده، ۸۸٫۱ و پایین‌ترین مقدار بعدی ۸۸٫۳ مگاهرتز مگاهرتز شد. این مورد قبلا در تجهیزات صوتی در سال ۱۹۴۰ وجود نداشت، اما این فضا گذاری بین کانالی بیشتر که برای کاهش مشکل سیستمهای موجود AM استفاده شد..

در حقیقت ۲۰۰ کیلوهرتز به هم آئی یک سیگنال صوتی و نیاز نداشت، ۲۰ کیلوهرتز تا ۳۰ کیلوهرتز برای یک باند کم عرض و باریک FM کافی بود که فضای لازم برای کنار گذاشتن سیگنال ۷۵+/- کیلوهرتزی از فرکانس اختصاص داده شده بعلاوه باند محافظ ۵۰ کیلوهرتز برای حذف تداخل کانالهای نزدیک و مجاور هم را فراهم می‌کرد. پهنای باند عریض تر امکان پخش سیگنال صوتی با پهنای باند ۱۵ کیلوهرتز بعلاوه ۳۸ کیلوهرتز «حامل فرعی» فراهم می‌کرد، ودراین شرایط یک سیگنال ذخیره‌ای و کمکی از سیگنال اصلی منشعب می‌شود. ظرفیت اضافی استفاده نشده برای پخشهایی که عملکردهای مورد استفاده مانند موسیقی زمینه، برای موارد عمومی و همگانی، سیگنالهای GPS یا اطلاعات و دیتای بازار بورس و تجاری را ارسال می‌دارند، استفاده می‌شود.

مشکلات رادیوی AM در مورد تداخل هنگام شب به روشهای مختلفی معرفی و شناخته شده‌است. در زمانی که سیستم FM راه اندازی شد، فقط فرکانسهایی موجود که از حوزه طیف فرکانسهای رادیوی AM بیشتر بودند، استفاده می‌شدند. استفاده از این فرکانسها حتی با میزان قدرت برق بیشتر، فرکانسهای FM پایین تری تولید می‌کرد، که این عمل باعث می‌شد که بازار آن از بازار رادیوی AM محلی تر ومحدودتر باشد. حوزه دریافت سیگنالها در موقع شب مانند روزها بود و چون مشکلات تداخل بین ایستگاهها از بین نرفت، استفاده از آن خیلی کمتر شد.

اولین سرویس رادیوی FM در ایالات متحده، شبکه یانکی‌ها بود که در نیو انگلند واقع شده بود، لینکهای را ببینید. صنعت پخش در اوایل سال ۱۹۴۰ شروع شد ولی برخورد رضایت بخشی با صنعت پخش AM نداشت. برای استفاده از آن خرید گیرنده مخصوص آن لازم بود. فرکانسهایی که آن زمان استفاده می‌شدند: ۴۲ تا ۵۰ مگاهرتز حالا استفاده نمی‌شوند. عوض شدن به فرکانسهای فعلی، ۸۸ تا ۱۰۸ مگاهرتز، در اواخر جنگ جهانی دوم شروع شد و مانند ادامه ضعف‌ها و ایراداتی برمالکان و صاحبان رادیوی AM به عنوان نقطه ضعف‌ها بود که تا حالا ادامه داشته و مشکل بالقوه وجدی به حساب می‌آمد.

رادیوی FM در باند جدید بایستی از مرحله اول شروع به کار می‌کرد. به عنوان یک ریسک و مسئله حساس تجاری تا سال ۱۹۶۰ کمتر به عنوان مدیای صوتی قوی و نیرومند مورد استفاده قرار گرفت. بیشتر ایستگاههای موفق و معروف AM، یا صاحبان آنها برای پخش همان برنامه برروی ایستگاه FM مانند ایستگاه AM (پخش آزمایشی)اخذ مجوزهای FM ضروری شد. FCC این عمل را در سال ۱۹۷۰ محدود کرد. تا سال ۱۹۸۰، که تقریبا همه رادیوها شامل تیونرهای AMوFM (بدون هیچ الزام دولتی) بودند.، رادیوی FM یک مدیای دائمی و ضروری مخصوصا در شهرها شد. چون حوزه پوشش آن بزرگتر و بیشتر بود و رادیوی AM در محیط‌های روستایی و حومه شهرها به عنوان سیستم عمومی و همگانی باقی ماند.








فهرست خطاهای مودم

خطاهای مودم:

۶۰۰ . اگر سیستم در حال شماره گیری باشد و دوباره شماره گیری نمایید این خطا نمایش داده می‌شود .

۶۰۱ . راه‌انداز Port بی اعتبار می‌باشد .

۶۰۲ . Port هم اکنون باز می‌باشد برای بسته شدن آن باید کامپیوتر را مجدداً راه اندازی نمود.

۶۰۳ . بافر شماره گیری بیش از حد کوچک است .

۶۰۴ . اطلاعات نادرستی مشخص شده‌است .

۶۰۵ . نمی‌تواند اطلاعات Port را تعیین کند .

۶۰۶ . Port شناسایی نمی‌شود .

۶۰۷ . ثبت وقایع مربوط به مودم بی اعتبار می‌باشد .

۶۰۸ . راه انداز مودم نصب نشده‌است .

۶۰۹ . نوع راه انداز مودم شناسایی نشده‌است .

۶۱۰ . بافر ندارد .

۶۱۱ . اطلاعات مسیر یابی غیر قابل دسترس می‌باشد .

۶۱۲ . مسیر درست را نمی‌تواند پیدا نماید .

۶۱۳ . فشرده سازی بی اعتباری انتخاب شده‌است .

۶۱۴ . سرریزی بافر .

۶۱۵ . Port پیدا نشده‌است .

۶۱۶ . یک درخواست ناهمزمان در جریان می‌باشد .

۶۱۷ .Port یا دستگاه هم اکنون قطع می‌باشد .

۶۱۸ . Port باز نمی‌شود. ( وقتی رخ می‌دهد که یک برنامه از Port استفاده کند ).

۶۱۹ . Port قطع می‌باشد (وقتی رخ می‌دهد که یک برنامه از Port استفاده کند).

۶۲۰ . هیچ نقطه پایانی وجود ندارد .

۶۲۱ . نمی‌تواند فایل دفتر راهنمای تلفن را باز نماید .

۶۲۲ . فایل دفتر تلفن را نمی‌تواند بارگذاری نماید .

۶۲۳ . نمی‌تواند ورودی دفتر راهنمای تلفن را بیابد .

۶۲۴ . نمی‌توان روی فایل دفتر راهنمای تلفن نوشت .

۶۲۵ . اطلاعات بی اساسی در دفتر راهنمای تلفن مشاهده می‌شود .

۶۲۶ . رشته را نمی‌تواند بارگذاری کند .

۶۲۷ . کلید را نمی‌تواند بیابد .

۶۲۸ . Port قطع شد .

۶۲۹ . Port بوسیله دستگاه راه دور قطع می‌شود. (درست نبودن راه انداز مودم با برنامه ارتباطی).

۶۳۰ . Port به دلیل از کارافتادگی سخت‌افزار قطع می‌شود .

۶۳۱ . Port توسط کاربر قطع شد .

۶۳۲ . اندازه ساختار داده اشتباه می‌باشد .

۶۳۳ . Port هم اکنون مورد استفاده می‌باشد و برای Remote Access Dial-up پیکر بندی نشده‌است (راه انداز درستی بر روی مودم شناخته نشده‌است) .

۶۳۴ . نمی‌تواند کامپیوتر شما را روی شبکه راه دور ثبت نماید .

۶۳۵ . خطا مشخص نشده‌است .

۶۳۶ . دستگاه اشتباهی به Port بسته شده‌است .

۶۳۷ . رشته ( string ) نمی‌تواند تغییر یابد .

۶۳۸ . زمان درخواست به پایان رسیده‌است .

۶۳۹ . شبکه ناهمزمان قابل دسترس نیست .

۶۴۰ . خطای NetBIOS رخ داده‌است .

۶۴۱ . سرور نمی‌تواند منابع NetBIOS مورد نیاز برای پشتیبانی سرویس گیرنده را بدهد .

۶۴۲ . یکی از اسامی NetBIOS شما هم اکنون روی شبکه راه دور ثبت می‌گردد ، ( دو کامپیوتر می‌خواهند با یک اسم وارد شوند ) .

۶۴۳ .Dial-up adaptor در قسمت network ویندوز وجود ندارد .

۶۴۴ . شما popus پیغام شبکه را دریافت نخواهید کرد .

۶۴۵ . Authentication داخلی اشکال پیدا کرده‌است.

۶۴۶ . حساب در این موقع روز امکان log on وجود ندارد .

۶۴۷ . حساب قطع می‌باشد .

۶۴۸ . اعتبار password تمام شده‌است .

۶۴۹ . حساب اجازه Remote Access را ( دستیابی راه دور ) را ندارد . ( به نام و گذرواژه اجازه dial-up داده نشده‌است ) .

۶۵۰ . سرور Remote Access ( دستیابی راه دور ) پاسخ نمی‌دهد .

۶۵۱ . مودم شما ( یا سایر دستگاههای اتصال دهنده ) خطایی را گزارش کرده‌است . ( خطا از طرف مودم بوده‌است ) .

۶۵۲ . پاسخ نا مشخصی از دستگاه دریافت می‌گردد .

۶۵۳ . Macro (دستورالعمل کلان). ماکرو خواسته شده توسط راه انداز در لیست فایل .INF موجود نمی‌باشد .

۶۵۴ . یک فرمان یا یک پاسخ در قسمت .INF دستگاه به یک ماکرو نامشخص اشاره می‌نماید .

۶۵۵ . دستور العمل (پیغام) در قسمت فایل .INF دستگاه مشاهده نمی‌شود .

۶۵۶ . دستورالعمل (ماکرو) (default off) در فایل .INF دستگاه شامل یک دستور العمل نامشخص می‌باشد .

۶۵۷ . فایل .INF دستگاه نمی‌تواند باز شود .

۶۵۸ . اسم دستگاه در فایل .INF دستگاه یا در فایل .INI رسانه بیش از حد طولانی می‌باشد .

۶۵۹ . فایل .INI رسانه به نام ناشناخته یک دستگاه اشاره می‌نماید .

۶۶۰ . فایل .INI رسانه برای این فرمان پاسخی را ندارد .

۶۶۱ . فایل .INF دستگاه فرمان را از دست داده‌است .

۶۶۲ . تلاش برای قرار دادن یک ماکرو لیست نشده در قسمت فایل .INF صورت نگرفته‌است.

۶۶۳ . فایل .INI رسانه به نوع ناشناخته یک دستگاه اشاره می‌نماید .

۶۶۴ . نمی‌تواند به حافظه اختصاص دهد .

۶۶۵ . Port برای Remote Access (دستیابی راه دور) پیکر بندی نشده‌است.

۶۶۶ . مودم شما (یاسایر دستگاههای اتصال دهنده) در حال حاضر کار نمی‌کنند .

۶۶۷ . فایل .INI رسانه را نمی‌تواند بخواند .

۶۶۸ . اتصال از بین رفته‌است .

۶۶۹ . پارامتر به کار برده شده در فایل .INI رسانه بی اعتبار می‌باشد .

۶۷۰ . نمی‌تواند نام بخش را از روی فایل .INI رسانه بخواند .

۶۷۱ . نمی‌تواند نوع دستگاه را از روی فایل .INI رسانه بخواند .

۶۷۲ . نمی‌تواند نام دستگاه را از روی فایل .INI رسانه بخواند .

۶۷۳ . نمی‌تواند کاربر را از روی فایل .INI رسانه بخواند .

۶۷۴ . نمی‌تواند بیشترین حد اتصال BPS را از روی فایل .INI رسانه بخواند .

۶۷۵ . نمی‌تواند بیشترین حد BPS حامل را از روی فایل .INI رسانه بخواند .

۶۷۶ . خط اشغال می‌باشد .

۶۷۷ . شخص به جای مودم پاسخ می‌دهد .

۶۷۸ . پاسخی وجود ندارد .

۶۷۹ . نمی‌تواند عامل را پیدا نماید .

۶۸۰ . خط تلفن وصل نیست .

۶۸۱ . یک خطای کلی توسط دستگاه گزارش می‌شود .

۶۸۲ . Writing section name دچار مشکل می‌باشد .

۶۸۳ . Writing device type با مشکل روبرو شده‌است .

۶۸۴writing device name .۶۸۴ با مشکل روبرو می‌باشد .

۶۸۵ . Writing maxconnectbps مشکل دارد .

۶۸۶ . Writing maxcarrierBPS دچار مشکل می‌باشد .

۶۸۷ . Writing usage با مشکل مواجه‌است .

۶۸۸ . Writing default off دچار مشکل می‌باشد .

۶۸۹ . Reading default off با مشکل مواجه‌است .

۶۹۰ . فایل INI خالی ست .

۶۹۱ . دسترسی صورت نمی‌پذیرد زیرا نام و گذرواژه روی دامین بی اعتبار می‌باشد

۶۹۲ . سخت‌افزار در درگاه یا دستگاه متصل شده از کار افتاده‌است .

۶۹۳ . Binary macro با مشکل مواجه می‌باشد .

۶۹۴ . خطای DCB یافت نشد .

۶۹۵ . ماشین‌های گفتگو آماده نیستند .

۶۹۶ . راه اندازی ماشین‌های گفتگو با مشکل روبرو می‌باشد .

۶۹۷ . Partial response looping با مشکل روبرو می‌باشد .

۶۹۸ . پاسخ نام کلیدی در فایل INF . دستگاه، در فرمت مورد نظر نمی‌باشد .

۶۹۹ . پاسخ دستگاه باعث سر ریزی بافر شده‌است .

۷۰۰ . فرمان متصل به فایل INF . دستگاه بیش از حد طولانی می‌باشد .

۷۰۱ . دستگاه به یک میزان BPS پشتیبانی نشده توسط گرداننده com تغییر می‌یابد .

۷۰۲ . پاسخ دستگاه دریافت می‌گردد زمانی که هیچکس انتظار ندارد .

۷۰۳ . در فعالیت کنونی مشکلی ایجاد شده‌است .

۷۰۴ . شماره اشتباه callback .

۷۰۵ . مشکل invalid auth state .

۷۰۶ . Invalid auth state دچار مشکل می‌باشد .

۷۰۷ . علامت خطایاب . x. ۲۵

۷۰۸ . اعتبار حساب تمام شده‌است .

۷۰۹ . تغییر پسورد روی دامین با مشکل روبرو می‌باشد .

۷۱۰ . در زمان ارتباط با مودم شما خطاهای سری یش از حد اشباع شده مشاهده می‌گردد.

۷۱۱ . Rasman initialization صورت نمی‌گیرد گزارش عملکرد را چک کنید

۷۱۲ . درگاه Biplex در حال اجرا می‌باشد . چند ثانیه منتظر شوید و مجدداً شماره بگیرید .

۷۱۳ . مسیرهای ISDN فعال در خط اصلی قطع می‌باشد .

۷۱۴ . کانال‌های ISDN کافی برای ایجاد تماس تلفنی در دسترس نمی‌باشند .

۷۱۵ . به دلیل کیفیت ضعیف خط تلفن خطاهای فراوانی رخ می‌دهد .

۷۱۶ . پیکر بندی remote access IP غیر قابل استفاده می‌باشد .

۷۱۷ . آدرسهای IP در static pool remote access IP وجود ندارد .

۷۱۸ . مهلت بر قراری تماس PPP پایان پذیرفته‌است .

۷۱۹ . PPP توسط دستگاه راه دور پایان می‌یابد .

۷۲۰ . پروتکل‌های کنترلppp پیکر بندی نشده‌اند .

۷۲۱ . همتای PPP پاسخ نمی‌دهد .

۷۲۲ . بسته PPPبی اعتبار می‌باشد .

۷۲۳ . شماره تلفن از جمله پیشوند و پسوند بیش از حد طولاً نی می‌باشد .

۷۲۴ . پروتکل IPXنمی‌تواند بر روی درگاه dial –out نماید زیرا کامپیوتر یک مسیر گردان IPX می‌باشد .

۷۲۵ . IPX نمی‌تواند روی port (درگاه) dial – in شود زیرا مسیر گردان IPX نصب نشده‌است .

۷۲۶ . پروتکل IPX نمی‌تواند برای dial – out، روی بیش از یک درگاه در یک زمان استفاده شود .

۷۲۷ . نمی‌توان به فایل TCPCFG . DLL دست یافت .

۷۲۸ . نمی‌تواند آداپتور IP متصل به remote access را پیدا کند .

۷۲۹ . SLIP استفاده نمی‌شود مگر اینکه پروتکل IP نصب شود .

۷۳۰ . ثبت کامپیوتر کامل نمی‌باشد .

۷۳۱ . پروتکل پیکر بندی نمی‌شود .

۷۳۲ . توافق بین PPP صورت نگرفته‌است .

۷۳۳ . پروتکل کنترل PPP برای پروتکل این شبکه، در سرور موجود نمی‌باشد .

۷۳۴ . پروتکل کنترل لینک PPP خاتمه یافته‌است .

۷۳۵ . آدرس مورد نیاز توسط سرور رد می‌شود .

۷۳۶ . کامپیوتر راه دور پروتکل کنترل را متوقف می‌نماید .

۷۳۷ . نقطه برگشت ( LOOPBACK DETECTED ) شناسایی شد .

۷۳۸ . سرور آدرس را مشخص نمی‌کند .

۷۳۹ . سرور راه دور نمی‌تواند از پسورد ENCRYPTED ویندوز NT استفاده نماید.

۷۴۰ . دستگاه‌های TAPI که برای remote access پیکر بندی می‌گردند به طور صحیح نصب و آماده نشده‌اند .

۷۴۱ . کامپیوتر محلی از encryption پشتیبانی نمی‌نماید .

۷۴۲ . سرور راه دور از encryption پشتیبانی نمی‌نماید .

۷۴۳ . سرور راه دور به encryption نیاز دارد .

۷۴۴ . نمی‌تواند شماره شبکه IPX را استفاده نماید که توسط سرور راه دور در نظر گرفته شده‌است گزارش وقایع را باز بینی نمایید .

۷۴۵ . یک فایل مهم و ضروری آسیب دیده‌است . Dial – up networking را مجدداً نصب نمایید .

۷۵۱ . شماره callback شامل یک کاراکتر بی اعتبار می‌باشد . کاراکترهای زیر فقط مجاز دانسته می‌شوند : Space, T, P, W, (,), - , @. ۰تا۹ .

۷۵۲ . در زمان پر دازش script یک خطای نحوی صورت می‌گیرد .

۷۵۳ . اتصال نمی‌تواند قطع شود زیرا توسط مسیر گردان چند پروتکلی ایجاد شده‌است .

۷۵۴ . سیستم قادر به یافتن bundle چند انصالی نمی‌باشد .

۷۵۵ . سیستم قادر به اجرای شماره گیری خودکار نمی‌باشد زیرا این ورودی یک شماره گیر عادی را دارد .

۷۵۶ . این اتصال هم اکنون در شماره گیری می‌باشد .

۷۵۷ . خدمات دستیابی راه دور خود به خود آغاز نمی‌شوند اطلا عات بیشتری در گزارش وقایع در اختیار شما قرار می‌گیرد .

۷۵۸ . اشتراک اتصال اینترنت هم اکنون روی این اتصال میسر می‌گردد .

۷۶۰ . در زمان فراهم آوری امکانات مسیر یابی، این خطا رخ می‌دهد .

۷۶۱ . در زمان فراهم شدن اشتراک اتصال اینترنت برای این اتصال این خطا ایجاد می‌گردد.

۷۶۳ . اشتراک اتصال اینترنت فعال نمی‌باشد . دو اتصال LAN و یا بیشتر به علاوه اتصالی که با این LANها مشترک شده‌است وجود دارد .

۷۶۴ . دستگاه کارت خوان smartcard نصب نیست .

۷۶۵ . اشتراک اتصال اینترنت میسر نمی‌باشد . اتصال LAN با آدرس IP در حال حاضر پیکر بندی می‌شود که برای آدرس گذاری اتوماتیک IP مورد نیاز می‌باشد .

۷۶۶ . سیستم نمی‌تواند هیچ گواهی ای را بیابد .

۷۶۷ . اشتراک اتصال اینترنت میسر نمی‌گردد اتصال LAN بر روی شبکه شخصی انتخاب می‌گردد که بیش از یک آدرس IP را پیکر بندی کرده‌است . اتصال LANرا با یک آدرسIP مجزا، مجدداً پیکر بندی نمایید قبل از اینکه اشتراک اتصال اینترنت صورت گیرد .

۷۶۸ . به دلیل رمز دار نکردن داده‌ها اتصال صورت نمی‌پذیرد .

۷۶۹ . مقصد مشخصی قابل دست یابی نمی‌باشد .

۷۷۰ . دستگاه راه دور تلا ش برای ایجاد اتصال را نمی‌پذیرد .

۷۷۱ . اقدامات اتصال صورت نمی‌گیرد زیرا شبکه اشغال می‌باشد .

۷۷۲ . سخت‌افزار شبکه کامپیوتر راه دور با نوع تلفن مورد نیاز سازگاری ندارد .

۷۷۳ . امکان ایجاد اتصال موثر نمی‌باشد زیرا شماره مقصد تغییر کرده‌است .

۷۷۴ . به دلیل از کار افتارگی موقت، اتصال صورت نمی‌گیرد .

۷۷۵ . مکالمه تلفنی توسط کامپیوتر راه دور متوقف شد .

۷۷۶ .مکالمه تلفنی نمی‌تواند وصل گردد زیرا مقصد خواسته‌است که ویژگی را حفظ نماید .

۷۷۷ . اتصال صورت نمی‌گیرد زیرا مودم ( یا سایر وسایل ارتباط دهنده ) روی کامپیوتر راه دور دچار مشکل می‌باشند .

۷۷۸ . تایید هویت سرور غیر ممکن می‌باشد .

۷۷۹ . برای بر قراری dial – out این اتصال باید از smartcard استفاده نمایید .

۷۸۰ . عمل انجام شده برای این اتصال بی اعتبار می‌باشد .

۷۸۱ . تلاش برای رمز گذاری (encryption) صورت نمی‌گیرد زیرا گواهی معتبری یافت نمی‌گردد .

۷۸۲ . ترجمه آدرس شبکه (NAT) در حال حاضر به عنوان یک پروتکل مسیر یابی نصب می‌گردد و باید قبل از اینکه اشتراک اتصال اینترنت فراهم گردد حذف شود .

۷۸۳ . اشتراک اتصال اینترنت میسر نمی‌باشد . اتصال LAN که به عنوان شبکه شخصی انتخاب می‌گردد یا فراهم نمی‌شود و یا از شبکه قطع می‌باشد . لطفاً قبل از فراهم شدن اشتراک اتصال اینترنت از اتصال آداپتور LAN مطمئن شوید .

۷۸۴ . در حالی که این اتصال را در زمان log on استفاده می‌کنید شما نمی‌توانید شماره بگیرید زیرا این اتصال برای استفاده از نام کاربری پیکر بندی شده‌است که متفاوت از نام کاربر روی smartcard می‌باشد . چنانچه بخواهید آنرا در زمان log on استفاده نمایید باید برای استفاده از (username) روی کارت smart آنرا پیکربندی کنید .

۷۸۵ . در صورت استفاده از این اتصال در زمان log on شما نمی‌توانید شماره گیری نمایید زیرا برای استفاده از یک smartcard پیکر بندی نشده‌است . چنانچه بخواهید آنرا در زمان log on به کار ببرید باید امکانات این اتصال را تصحیح و آماده نمایید به طوری که smartcard استفاده نماید .

۷۸۶ . مبادرت به اتصال L۲TP صورت نمی‌پذیرد زیرا هیچ گواهینامه معتبری برای تصدیق (authentication) امنیت روی کامپیوتر شما وجود ندارد .

۷۸۷ . اتصال L۲TP غیر ممکن است زیرا لایه امنیتی نمی‌تواند کامپیوتر راه دور را authentication نماید .

۷۸۸ . تلاش برای ایجاد اتصال L۲TP بی نتیجه می‌باشد زیرا لایه امنیتی نمی‌تواند پارامترهای سازگار با کامپیوتر راه دور را فراهم نماید .

۷۸۹ . تلاش برای اتصال L۲TP فراهم نمی‌گردد زیرا لایه امنیتی با یک خطای پردازشی در طول سازگاری با کامپیوتر راه دور مواجه‌است .

۷۹۰ . تلاش برای اتصال L۲TP صورت نمی‌گیرد زیرا تایید گواهینامه بر روی کامپیوتر راه دور میسر نمی‌باشد .

۷۹۱ . اتصال L۲TP میسر نمی‌باشد زیرا خط مشی امنیتی (security policy) برای اتصال یافت نمی‌شود .

۷۹۲ . اتصال L۲TP صورت نمی‌گیرد زیرا زمان توافق امنیتی به پایان رسیده‌است .

۷۹۳ . اتصال L۲TP میسر نمی‌گردد زیرا این خطا رخ می‌دهد در حالی که در مورد امنیت به توافق می‌رسند .

۷۹۴ . ویژگی RADIUS ا ین کاربر PPP نمی‌باشد .

۷۹۵ . ویژگی RADIUS نوع تونلی برای این کاربر، نادرست می‌باشد .

۷۹۶ . ویژگی RADIUS نوع خدمات برای این کار نه قالب بندی می‌شود و نه callback قالب بندی می‌شود .

۷۹۷ . مودم پیدا نشد .

۷۹۸ . گواهینامه‌ای شناسایی نمی‌شود که بتواند پروتکل قابل ارائه استفاده شود .

۷۹۹ . اشتراک اتصال اینترنت میسر نمی‌گردد زیرا دو IP شبیه به هم در شبکه وجود دارد . ICها به میزبانی نیازمند می‌باشند که برای استفاده از ۱۹۲ ، ۱۶۸ ، ۰ ، ۱ پیکر بندی شده‌است . مطمئن شوید که هیچ سرویس گیرنده دیگری برای استفاده از ۱۹۲ ، ۱۶۸ ، ۰ ، ۱ پیکر بندی نشده‌است .

۸۰۰ . قادر به ایجاد اتصال VPN نمی‌باشد . سرویس دهنده VPN در دسترس نمی‌باشد و یا ممکن است پارامترهای امنیتی برای اتصال به درستی پیکربندی نشده باشند .









شبکه رایانه‌ای
یک شبکه رایانه‌ای (به انگلیسی: Computer Network)، که اغلب به طور خلاصه به آن شبکه گفته می‌شود، گروهی از رایانه‌ها و دستگاه‌هایی می‌باشد که توسط کانال‌های ارتباطی به هم متصل شده‌اند. شبکه رایانه‌ای باعث تسهیل ارتباطات میان کاربران شده و اجازه می‌دهد کاربران منابع خود را به اشتراک بگذارند.






معرفی

یک شبکه رایانه‌ای اجازه به اشتراک گذاری منابع و اطلاعات را میان دستگاه‌های متصل شده به هم، می‌دهد. در دهه ۶۰ میلادی، آژانس پروژه‌های تحقیقاتی پیشرفته (ARPA)، بودجه‌ای را به منظور طراحی شبکه آژانس پروژه‌های تحقیقاتی پیشرفته (ARPANET) برای وزارت دفاع ایالات متحده آمریکا اختصاص داد. این اولین شبکه رایانه‌ای در جهان بود. توسعه شبکه از سال ۱۹۶۹ و براساس طرح‌های توسعه یافته دهه ۶۰ آغاز شد.
5:03 pm
برنامه‌نویسی

برنامه‌نویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرم‌افزار یا برنامهٔ رایانه‌ای گفته شود. با این همه برنامه‌نویسی تنها بخشی از فرایند توسعهٔ نرم‌افزار یا برنامه رایانه‌ای است. اهمیت، توجه و منابع اختصاص داده شده به برنامه‌نویسی، بسته به ویژگی‌های مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرم‌افزار متغیر است.

برنامه‌نویسی کامپیوتر (که اغلب در انگلیسی programming یا coding گفته می‌شود) فرایند نوشتن، اشکال زدایی(debug) و نگهداری کد منبع (source code) برنامه کامپیوتر می‌باشد. این کد منبع با یک زبان برنامه نویسی نوشته شده است. این کد منبع ممکن است تغییر داده شده یک کد قبلی و یا یک کد کاملاً جدید باشد. هدف برنامه نویسی ساختن یک برنامه می‌باشد که یک رفتار خواسته شده را به نمایش بگذارد.






تاریخچه
موضوع دستگاه‌هایی که به دنباله‌ای از دستورالعمل‌های از قبل تعریف شده عمل می‌کند بر می‌گردد به Greek Mythology.

برنامه نویسی مدرن
اندازه گیری کاربرد زبان

تعیین اینکه محبوب‌ترین زبان برنامه نویسی مدرن کدام است کار بسیار مشکلی است. بعضی از زبان‌ها در کاربردهای خاصی محبوب است و بعضی دیگر مرتباً در نوشتن کاربردهای گوناگون استفاده می‌شود. روش‌های اندازه گیری محبوبیت زبان شامل موارد زیر می‌باشد: شمردن تعداد آگهی‌های اشتغال و توجه به یک زبان، تعداد کتاب‌های آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان


پارادایم‌ها
زبان‌های برنامه‌نویسی گوناگون براساس قابلیت‌های درنظر گرفته شده از شیوهٔ خط‌های مختلف استفاده می‌کنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبان‌های مختلف متفاوت است. علاوه بر این‌ها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شده‌اند که پارادایم یا الگو نام دارند.



برنامه‌نویسی دستوری

برنامه‌نویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوه‌های برنامه‌نویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان می‌شود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان می‌شود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان می‌شود اما در زبانهای اعلانی چیستی نتیجه بیان می‌شود.

به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.





زبان برنامه‌نویسی

زبان‌های برنامه‌نویسی ساختارهای زبانی دستورمداری در رایانه‌ها هستند که به‌وسیلهٔ آنها می‌توان یک الگوریتم را به‌وسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرم‌افزارهای جدید بوجود می‌آید. معمولاً هر زبان برنامه‌نویسی دارای یک محیط نرم‌افزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم می‌کنند:

نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاوره‌های انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط

برنامه نویس

یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شده‌است.زبان‌های برنامه نویسی برای ایجاد برنامه‌هایی به کار می‌روند که رفتار یک ماشین را مشخص می‌کنند، الگوریتم دقیق را بیان می‌کنند، و یا روشی برای ارتباط انسانند. بسیاری از زبان‌های برنامه نویسی تعدادی قالب از ویژگی‌های نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانه‌ها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شده‌اند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی می‌باشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز می‌گردد، و برای هدایت رفتار ماشین‌هایی مانند دستگاه‌های نساجی اتوماتیک و نوازنده‌های پیانو به کار می‌رفت. هزاران زبان برنامه نویسی خلق شده‌اند، بیشتر در زمینهٔ رایانه، زمینه‌ای که هر ساله بسیاری دیگر ایجاد می‌شوند.


تقسیم‌بندی
زبان‌های برنامه نویسی را می‌توان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روش‌های برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)



تعاریف

ویژگی‌هایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده می‌شوند:

تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامه‌های رایانه‌ای به کار می‌رود که رایانه‌ای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاه‌های خارجی مثل چاپگر، ربات و... درگیر می‌کنند.





هدف: زبان‌های برنامه نویسی با زبان‌های طبیعی تفاوت دارند و آن اینکه زبان‌های طبیعی فقط برای فعل و انفعالات بین مردم به کار می‌روند، در حالیکه زبان‌های برنامه نویسی همچنین به انسانها اجازه می‌دهد که از طریق دستورات با ماشین‌ها ارتباط برقرار کنند. برخی زبان‌های برنامه نویسی بوسیله یک دستگاه استفاده می‌شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه‌های پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد می‌شوند.
ساختارها: زبان‌های برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبان‌ها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی می‌کند. تمام زبان‌های "کامل تورینگ" می‌توانند مجموعه یکسانی از الگوریتم‌ها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثال‌هایی هستند از زبان‌هایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده می‌شوند.

برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی می‌کنند که می‌توانند تمام الگوریتم‌های ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبان‌های برنامه نویسی محدودتر به کار می‌رود. زبان‌های غیر محاسباتی، مانند زبان‌های مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمی‌شوند. یک زبان برنامه نویسی(که می‌تواند کامل تورینگ نباشد) ممکن است در این زبان‌های غیر محاسباتی (میزبان) تعبیه شوند.


کاربرد

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده‌ها، و عملیات یا تبدیل‌هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می‌کند. یک برنامه نویس از انتزاعات آماده در زبان استفاده می‌کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده‌ترین عناصر موجود بیان می‌شوند(مفاهیم ابتدایی نامیده می‌شوند). زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

محدوده برنامه‌ها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستم‌های بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویس‌ها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفه‌ای‌هایی که با پیچیدگی قابل توجهی کنار می‌آیند.
برنامه‌ها باید سرعت، اندازه و سادگی را بسته به سیستم‌ها از ریزپردازندها تا ابر رایانه‌ها متناسب نگه دارند.
برنامه‌ها ممکن است یک بار نوشته شوند و تا نسل‌ها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویس‌ها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.




معناشناسی ایستا
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیت‌ها به وسیله سیستم نوع گذاری انجام می‌شود.


سیستم نوع گذاری
یک سیستم نوع گذاری مشخص می‌کند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی می‌کند، چگونه می‌تواند آن نوع‌ها را تغییر دهد و رفتار متقابل آن‌ها چگونه‌است. این کارعموما توضیح داده ساختارهایی که می‌توانند در آن زبان ایجاد شوند را شامل می‌شود. طراحی و مطالعه سیستم‌های نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبان‌های نوع گذاری شده و بدون نوع گذاری

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.



نوع گذاری قوی و ضعیف

نوع گذاری ضعیف این امکان را ایجاد می‌کند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.

نوع گذاری قوی مانع رخ دادن مشکل فوق می‌شود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا می‌شود. زبان‌هایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته می‌شوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبان‌ها اشاره می‌کند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را می‌دهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل می‌کند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشته‌ای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان می‌کنند.

قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض می‌شوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار می‌برند و منظورشان قوی، ایستایی نوع گذاری شده‌است، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شده‌است. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



معناشناسی اجرا

وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیات‌ها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین می‌کند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.

برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی می‌شوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا می‌کنند.


کتابخانه هسته
اغلب زبان‌های برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده می‌شوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازی‌های زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتم‌ها، داده ساختارها و مکانیزم‌های ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار می‌کنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هسته‌ای را مشخص می‌کنند که باید در تمام پیاده سازی‌ها موجود باشند، و در زبان‌های استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبان‌ها به گونه‌ای تعریف شده‌اند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونه‌ای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونه‌ای از کلاس BlockContext کتابخانه می‌سازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان می‌باشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمی‌کنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.



خصوصیات

یک زبان برنامه نویسی باید تعریفی فراهم کند که کاربران و پیاده کننده‌های زبان می‌توانند از آن استفاده کنند تا مشخص کنند که رفتار یک برنامه درست است. با داشتن کد منبع: خصوصیات یک زبان برنامه نویسی چندین قالب می‌تواند بگیرد، مانند مثال‌های زیر:

تعریف صریح دستور، معناشناسی ایستا، ومعناشناسی اجرای زبان. درحالیکه دستور معمولاً با یک معناشناسی قراردادی مشخص می‌شود، تعاریف معناشناسی ممکن است در زبان طبیعی نوشته شده باشند (مثل زبان C)، یا معناشناسی قراردادی(مثل StandardML ,Scheme)
توضیح رفتار یک مترجم برای زبان(مثل C,fortran). دستور و معناشناسی یک زبان باید از این توضیح استنتاج شوند، که ممکن است به زبان طبیعی یا قراردادی نوشته شود.
پیاده سازی منبع یا مدل. گاهی اوقات در زبان‌های مشخص شده(مثل: prolog,ANSI REXX).دستور و معناشناسی صریحاً در رفتار پیاده سازی مدل موجودند.


پیاده سازی

پیاده سازی یک زبان برنامه نویسی امکان اجرای آن برنامه را روی پیکربندی مشخصی از سخت‌افزار و نرم‌افزار را فراهم می‌کند. بطور وسیع، دو راه رسیدن به پیاده سازی زبان برنامه نویسی وجود دارد. کامپایل کردن و تفسیر کردن. بطور کلی با هر بک از ابن دو روش می‌توان یک زبان را پیاده سازی کرد.

خروجی یک کامپایلر ممکن است با سخت‌افزار و یا برنامه‌ای به نام مفسر اجرا شود. در برخی پیاده سازی‌ها که از مفسر استفاده می‌شود، مرز مشخصی بین کامپایل و تفسیر وجود ندارد. برای مثال، برخی پیاده سازی‌های زبان برنامه نویسی بیسیک کامپایل می‌کنند و سپس کد را خط به خط اجرا می‌کنند.

برنامه‌هایی که مستقیماً روی سخت‌افزار اجرا می‌شوند چندین برابر سریعتر از برنامه‌هایی که با کمک نرم‌افزار اجرا می‌شوند، انجام می‌شوند.

یک تکنیک برای بهبود عملکرد برنامه‌های تفسیر شده کامپایل در لحظه آن است. در این روش ماشین مجازی، دقیقاً قبل از اجرا، بلوک‌های کدهای بایتی که قرار است استفاده شوند را برای اجرای مستقیم روی سخت‌افزار ترجمه می‌کند.



تاریخچه
پیشرفت‌های اولیه

اولین زبان برنامه نویسی به قبل از رایانه‌های مدرن باز می‌گردد. قرن ۱۹ دستگاه‌های نساجی و متون نوازنده پیانو قابل برنامه نویسی داشت که امروزه به عنوان مثال‌هایی از زبان‌های برنامه نویسی با حوزه مشخص شناخته می‌شوند. با شروع قرن بیستم، پانچ کارت‌ها داده را کد گذاری کردند و پردازش مکانیکی را هدایت کردند. در دهه ۱۹۳۰ و ۱۹۴۰، صورت گرایی حساب لاندای آلونزو چرچ و ماشین تورینگ آلن تورینگ مفاهیم ریاضی بیان الگوریتم‌ها را فراهم کردند؛ حساب لاندا همچنان در طراحی زبان موثر است.

در دهه ۴۰، اولین رایانه‌های دیجیتال که توسط برق تغذیه می‌شدند ایجاد شدند. اولین زبان برنامه نویسی سطح بالا طراحی شده برای کامپیوتر پلانکالکول بود، که بین سال‌های ۱۹۴۵ و ۱۹۴۳ توسط کنراد زوس برای ز۳ آلمان طراحی شد.

کامپیوترهای اوایل ۱۹۵۰، بطور خاص ÜNIVAC ۱ و IBM ۷۰۱ از برنامه‌های زبان ماشین استفاده می‌کردند. برنامه نویسی زبان ماشین نسل اول توسط نسل دومی که زبان اسمبلی نامیده می‌شوند جایگزین شد. در سال‌های بعد دهه ۵۰، زبان برنامه نویسی اسمبلی، که برای استفاده از دستورات ماکرو تکامل یافته بود، توسط سه زبان برنامه نویسی سطح بالا دیگر: FORTRAN,LISP , COBOL مورد استفاده قرار گرفت. نسخه‌های به روز شده این برنامه‌ها همچنان مورد استفاده قرار می‌گیرند، و هر کدام قویا توسعه زبان‌های بعد را تحت تاثیر قرار دادند. در پایان دهه ۵۰ زبان algol ۶۰ معرفی شد، و بسیاری از زبان‌های برنامه نویسی بعد، با ملاحظه بسیار، از نسل algol هستند. قالب و استفاده از زبان‌های برنامه نویسی به شدت متاثر از محدودیت‌های رابط بودند.



پالایش

دوره دهه ۶۰ تا اواخر دهه ۷۰ گسترش مثال‌های عمده زبان پرکاربرد امروز را به همراه داشت. با این حال بسیاری از جنبه‌های آن بهینه سازی ایده‌های اولیه نسل سوم زبان برنامه نویسی بود:

APL برنامه نویسی آرایه‌ای را معرفی کرد و برنامه نویسی کاربردی را تحت تاثیر قرار داد.
PL/i(NPL) دراوایل دهه ۶۰ طراحی شده بود تا ایده‌های خوب فورترن و کوبول را بهم پیوند دهد.
در دهه ۶۰، Simula اولین زبانی بود که برنامه نویسی شئ گرا را پشتیبانی می‌کرد، در اواسط دهه۷۰. Smalltalk به دنبال آن به

عنوان اولین زبان کاملاً شئ گرا معرفی شد.

C بین سال‌های ۱۹۶۹ تا ۱۹۷۳ به عنوان زبان برنامه نویسی سیستمی طراحی شد و همچنان محبوب است.
Prolog، طراحی شده در ۱۹۷۲، اولین زبان برنامه نویسی منطقی بود.
در ۱۹۷۸ ML سیستم نوع چند ریخت روی لیسپ ایجاد کرد، و در زبان‌های برنامه نویسی کاربردی ایستا نوع گذاری شده پیشگام شد.

هر یک از این زبان‌ها یک خانواده بزرگ از وارثین از خود به جای گذاشت، و مدرنترین زبان‌ها از تبار حداقل یکی از زبان‌های فوق به شمار می‌آیند.

دهه‌های ۶۰ و ۷۰ مناقشات بسیاری روی برنامه نویسی ساخت یافته به خود دیدند، و اینکه آیا زبان‌های برنامه نویسی باید طوری طراحی شوند که آنها را پشتیبانی کنند.

"ادسگر دیکسترا" در نامه‌ای معروف در ۱۹۶۸ که در ارتباطات ACM منتشر شد، استدلال کرد که دستورgoto باید از تمام زبان‌های سطح بالا حذف شود.

در دهه‌های ۶۰ و ۷۰ توسعهٔ تکنیک‌هایی صورت گرفت که اثر یک برنامه را کاهش می‌داد و در عین حال بهره وری برنامه نویس و کاربر را بهبود بخشید. دسته کارت برای ۴GL اولیه بسیار کوچکتر از برنامهٔ هم سطح بود که با ۳GL deck نوشته شده بود.




یکپارچگی و رشد

دهه ۸۰ سال‌های یکپارچگی نسبی بود. C++ برنامه نویسی شئ گرا و برنامه نویسی سیستمی را ترکیب کرده بود. ایالات متحده ایدا(زبان برنامه نویسی سیستمی که بیشتر برای استفاده توسط پیمان کاران دفاعی بود) را استاندارد سازی کرد. در ژاپن و جاهای دیگر، هزینه‌های گزافی صرف تحقیق در مورد زبان نسل پنجم می‌شد که دارای ساختارهای برنامه نویسی منطقی بود. انجمن زبان کاربردی به سمت استانداردسازی ML و Lisp حرکت کرد. به جای ایجاد مثال‌های جدید، تمام این تلاش‌ها ایده‌هایی که در دهه‌های قبل حلق شده بودند را بهتر کرد.

یک گرایش مهم در طراحی زبان در دهه ۸۰ تمرکز بیشتر روی برنامه نویسی برای سیستم‌های بزرگ از طریق مدول‌ها، و یا واحدهای کدهای سازمانی بزرگ مقیاس بود. مدول-۲، ایدا. و ML همگی سیستم‌های مدولی برجسته‌ای را در دهه ۸۰ توسعه دادند. با وجود اینکه زبان‌های دیگر، مثل PL/i، پشتیبانی بسیار خوبی برای برنامه نویسی مدولی داشتند. سیستم‌های مدولی غالباً با ساختارهای برنامه نویسی عام همراه شده‌اند.

رشد سریع اینترنت در میانه دهه ۹۰ فرصت‌های ایجاد زبان‌های جدید را فراهم کرد. Perl، در اصل یک ابزار نوشتن یونیکس بود که اولین بار در سال ۱۹۸۷ منتشر شد، در وب‌گاه‌های دینامیک متداول شد. جاوا برای برنامه نویسی جنب سروری مورد استفاده قرار گرفت. این توسعه‌ها اساساً نو نبودند، بلکه بیشتر بهینه سازی شده زبان و مثال‌های موجود بودند، و بیشتر بر اساس خانواده زبان برنامه نویسی C بودند. پیشرفت زبان برنامه نویسی همچنان ادامه پیدا می‌کند، هم در تحقیقات و هم در صنعت. جهت‌های فعلی شامل امنیت و وارسی قابلیت اعتماد است، گونه‌های جدید مدولی(mixin، نماینده‌ها، جنبه‌ها) و تجمع پایگاه داده.

۴GLها نمونه‌ای از زبان‌هایی هستند که محدوده استفاده آنها مشخص است، مثل SQL. که به جای اینکه داده‌های اسکالر را برگردانند، مجموعه‌هایی را تغییر داده و بر می‌گردانند که برای اکثر زبان‌ها متعارفند. Perl برای مثال، با "مدرک اینجا" خود می‌تواند چندین برنامه ۴GL را نگه دارد، مانند چند برنامه جاوا سکریبت، در قسمتی از کد پرل خود و برای پشتیبانی از چندین زبان برنامه نویسی با تناسب متغیر در "مدرک اینجا" استفاده کند.
ساعت : 5:03 pm | نویسنده : admin | کاکاپو | مطلب قبلی
کاکاپو | next page | next page