جاوا
جاوا و جاوا اسکریپت

این سیستم به سرورهای وب امکان می‌دهد تا برنامه‌های کوچکی (که اپلت (applet) نامیده می‌شوند) را مستقیماً در شبکه اطلاعات بازیابی شده قرار دهند و این اپلت‌ها که در کامپیوتر کاربر اجرا می‌شوند تعامل کاربر با اینترنت را سرعت می‌بخشد.





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

با این وجود، جاوا اسکریپت یک زبان برنامه‌نویسی اسکریپتی است که برای صفحات وب طراحی شده است. نسخه استاندارد آن ECMAScript نام دارد. اگر چه نام آن شبیه جاوا است اما توسط شرکت ارتباطات نت اسکیپ (Netscape) طراحی شده است و تقریباً هیچ ارتباطی با جاوا که ساخت شرکت میکروسیستم‌های سان است ندارد. تنها شباهت آن با جاوا در این است که نحوه نگارش آن از زبان برنامه نویسی C گرفته شده است. جاوا اسکریپت مانند جاوا برنامه نویسی شیءگرا است اما شبیه سی پلاس پلاس و بر خلاف جاوا امکان استفاده از کدهای درهم (مخلوط) یعنی استفاده هم زمان از زبان برنامه‌نویسی شیء گرا و برنامه‌نویسی رویه‌ای را فراهم می‌آورد. جاوا اسکریپت در کنار مدل شیء سند به زبان برنامه‌نویسی بسیار قوی‌ای تبدیل شده که حتی طراحان آن چنین تصوری از موفقیت آن نداشتند. گاهی اوقات در مورد آن از کلمه HTML پویا (DHTML) استفاده می‌شود تا گذر از صفحات HTML "ایستا" بیشتر حس می‌شود.

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






تأثیر بر روابط اجتماعی

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

وب مهم‌ترین ابزار تبادل اطلاعات است که در کره زمین رونق فراوانی یافته است. این قابلیت به کاربران اجازه می‌دهد تا با افراد و گروه‌های مختلفی که در سراسر جهان پراکنده هستند و در فضا و مکان متفاوتی قرار دارند ارتباط برقرار کنند و نیاز به برقراری ارتباط فیزیکی میان افراد را مرتفع می‌سازد.

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

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






انتشار صفحات وب

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

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






سرعت در وب

نگرانی موجود در مورد ازدحام اطلاعات روی زیر ساختار اینترنت و تأخیر زیاد در دسترسی به داده‌ها به باعث شده است که نام World Wide Web به "World Wide Wait" تغییر کند! افزایش سرعت اینترنت مسأله‌ای مهم در بحث‌های مربوط به استفاده از همتا سازی و کیفیت خدمات (QOS) است. راه حل‌های ممکن برای کاهش انتظار برای مشاهده صفحات وب در سایت W3C ارائه شده است.

راهنمای استانداردهای موجود برای پاسخ زمانی ایده‌آل صفحات وب (مطابق کتاب نیلسن، چاپ 1999، صفحه 42) عبارتند از:

1/0 ثانیه (یک دهم ثانیه). زمان ایده‌آل پاسخ کاربر هیچ گونه تأخیری را حس نمی‌کند.
1 ثانیه. حداکثر زمان قابل قبول. زمان دانلود بیش از 1 ثانیه کاربر را خسته می‌کند.
10 ثانیه. زمان غیر قابل قبول. کاربر خسته شده و دوست دارد سایت را ترک کند. این اعداد برای طراحی ظرفیت سرور کاربرد زیادی دارند.







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

از لحاظ فنی هیچ دلیلی وجود ندارد که نام سایت حتماً با www آغاز شود و اولین سرور وب در "info.cern.ch" قرار داشت. استفاده از پیشوند www یک توافق است که بین سازمان‌های ارائه دهنده خدمات وب انجام شده است تا تمامی نام‌های میزبان از یک پروتکل تبعیت کنند؛ برای مثال، بسیاری از سازمان‌ها نام سرور اصلی پروتکل گوفر خرد را به صورت gopher.wherever.edu تعریف می‌کنند و از پیشوندهای دیگری استفاده می‌کنند تا بتوان از چندین سرور وب استفاده کنند. برخی از مرورگرها به صورت خودکار www را به ابتدا و ".com" را به انتهای URL تایپ شده اضافه می‌کنند. در مرورگرهای اینترنت اکسپلورر و فایرفاکس موزیلا با فشردن همزمان کلیدهای ctrl و Enter پیشوند "http://www." و پسوند "com." به انتهای URL اضافه می‌شوند.






تلفظ "www

در زبان انگلیسی، WWW طولانی‌ترین تلفظ ممکن تور جهان گستر است که یک سرواژه سه حرفی است که به نه سیلاب نیاز دارد. داگلاس آدامز اظهار داشت: World Wide Web تنها عبارتی است که تلفظ شکل مختصر آن سه برابر بیشتر از تلفظ خود آن طول می‌کشد.

نسخه‌های کوتاه‌تر عبارتنداز "triple double 'u'"، "triple dub"، "dub dub dub"، "wuh wuh wuh" و "all the 'double u's". در زبان‌های دیگر "WWW" را اغلب "VVV" تلفظ می‌کنند. در زبان چینی، World Wide Web را به صورت wàn wéi wǎng تلفظ می‌کنند (به چینی: 万维网) که به معنای "شبکه ده هزار بعدی" است.






وب ۲٫۰

در وب ۲٫۰، کاربران قادرند خود به ایجاد و خلق محتوا در فضای اینترنت پرداخته، و دیگران را در داشته‌ها و اطّلاعات خود شریک سازند، و یا کارهای موجود از ناحیه دیگران را به صورتی مستقیم و بی واسطه مورد نقد و تغییر قرار دهند.





تاریخچه وب جهان گستر

تیم برنرزلی در سال ۱۹۸۹ وقتی که اولین طرح پیشنهادی و طرح خود را به موسسهٔ سرن (پروهشگاه فیزیک هسته‌ای و انرژی‌های سطح بالا) در سویس بوردر فرانسه می‌فرستاد؛ اینترنت را اختراع کرد.

خصوصیات نسخه‌های مختلف وب

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

این اختراع مثل تمام اخترعات بنیادی وب بر پایه سه تکنولوژی اصلی شکل گرفته:

آدرس یاب یا شناسه آدرس واحد (معروف URL یا URI) منبع مستندات یا اطلاعات در وب برای پیدا کردن آن مستند در کل وب.
زبان نشانه گذاری متن هوشمند (HTML) برای ارائه محتویات صفحات وب و برقراری پیوندها(لینک‌ها).
پرتکل انتقال متن هوشمند (HTTP) برای انتقال اطلاعات وبی در سرتاسر اینترنت.

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






وب ۱٫۰
در ابتدا داستان با شبکه‌ای از مقالات و متن‌ها شروع شد.

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

بدین ترتیب وبلاگ‌ها دارای شخصیتی خواص برای خود شدند که این شخصیت را مستقیماً از مولف خود به ارث می‌برند (شما با مطالعه دفترچه خاطرات شخصی هر فرد می‌توانید با ابعاد متفاوت شخصیتی وی نیز تا اندازه‌ای مه امکان دارد آشنا شوید






وب ۲٫۰

این اتفاقات ما را به وب ۲٫۰ رساند. در حالی که تجارت‌ها و کسب و کارها داشتند از روش‌های قبل به روشهای جدید وب مهاجرت می‌کردند یک نسل جدیدی از کاربران و برنامه نویسان وب شروع به همکاری فعالی کردند. در سال ۲۰۰۴ تیم اوریلی وب ۲٫۰ را با عنوان انقلاب تجارت در صنعت کامپیوتر بوسیله مهاجرت به روی بستر وب" را (به جهان)معرفی کرد. اصل قضیه وب ۲٫۰ این است که کاربرانی مثل خود مصرف کنندگان محتویات را ایجاد می‌کنند. و به این ترتیب اطلاعات خیلی پویاتر از اطلاعات در وب ۱٫۰ می‌باشد.

جامعه ویکی‌پدیا مفهوم همکاری و خرد جمعی جوامع مردمی وب ۲٫۰ را ارتقا داد. ویکی‌پدیا وب ۲٫۰ را اینگونه تعریف می‌کند:«عنوانی که روند استفاده از وب جهانگستر (www)و تکنولوژی‌ها و طراحی‌های آن که هدفش رسیدن به افزایش خلاقیت، اشتراک گذاشتن اطلاعات و مهمتر از همه همکاری کاربران است را توصیف می‌کند.» این تعریف ویکی از دیدگاه اصلی تیم برنرزلی نسبت به تعریف وب که در آن همکاری واقعی و تعاملی و ارتباطات جهانی و اشتراک گذاری اطلاعات بود، جامعتر است. شبکه‌های اجتماعی مانند فیس بوک، لینکدال ان، پاسادو، ببو، اورکات و مای اسپیس راه تعامل مردم در وب را هموار ساختند. تجار با توجه به این شبکه‌های اجتماعی و جنبه‌های همکاری‌های درون وب نظرشان را به راههای ایجاد بستر استفاده واقعی و ابزاری توسط شرکتهایشان و مصرف کنندگانشان معطوف ساختند.

(در محدوده وب ۲٫۰) شرکت‌ها باید تصمیم بگیرند که برای کارشان وبلاگ بسازند یا نسازند!، و اینکه به هر حال می‌خواهند نظر مشتریانشان در مورد محصولاتشان را به دیگران نشان بدهند یا خیر. شرکت‌ها به سمت و سوی فعال سازی و کاربردی تر کردن نظرات مشتریانشان در کسب و کارشان هستند، تا بتوانند نیازمندیهای مشتریانشان و توقعات نحوه تعامل خرید و فروششان را بهتر برآورده سازند.

یوتیوب خیلی خوب به تعریف همکاری اجتماعات در وب ۲٫۰ کمک کرد. در آوریل ۲۰۰۸ موتور جستجوی یوتیوب ۸۰ میلیون پاسخ ارائه کرده که حدود ۴ میلیون از آنها کانالهای ایجاد شده توسط کاربران است.

به گفته شرکت بین‌المللی اطلاعات(IDC)، ویدئوهای تولید شده توسط کاربران و آپلود شده در روز در تمام سایتهای فیلم بیش از ۵۰۰ هزار قطعه فیلم در سال ۲۰۰۷ بوده و در چهار سال بعد از آن به حدود ۵ میلیون (ویدئو در روز)خواهد شد.

چیزهای شگفت انگیزی در اینترنت اتفاق افتاده‌است. به هر حال در موارد متعددی وب ۲٫۰ باز هم بصورت محدوده بسته‌ای (به حساب می‌آید)، که در آن معمولاً پیوند دادن‌ها داخل آن (برای نگه داشتن مصرف کنندگان و مشتریان)ساده نیست و هنوز در خارج از سایت مربوطه یا بین چند سایت مختلف باید صورت گیرد و بعضی اوقات نیر استفاده اختصاصی از راه حلها و ضمیه‌های بعد مانع همکاری و ارتباط می‌شود.






وب ۳٫۰

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

کنسرسیوم وب جهانگستر (w۳c)تکنولوژی‌های جدیدی را برای به وقوع پیوستن وب ۳٫۰ استاندارد سازی کرد. که شامل عناوین: وب مفهومی، ویدئو روی وب، وب سیار و همراه و وب در همه جا و تمام شرایط می‌باشند.






وب مفهومی

وب مفهومی چارچوبی مشترک مبتنی بر آدرسهای اینترنتی بوجود آورد که اجازه می‌دهد در سرتاسر برنامه‌ها، برنامه‌های بزرگ و محدوده‌های اجتماعی، اطلاعات به همدیگر مرتبط شوند، به اشتراک گذاشته شوند و قابلیت استفاده مجدد پیدا کنند. با استفاده از تکنولوژی‌های کنسرسیوم جهانگستر(w۳c) در وب مفهومی افراد یا دستگاها می‌توانند با استفاده از یک نمونه از اطلاعات از یک مجموعه به مجموعه بی انتهایی از اطلاعات مرتبط به آن مطلب که در پایگاهای اطلاعاتی سرتاسر جهان دستیابی کند. این پایگاها از طریق شبکه سخت افزاری و کابل کشی به هم مرتبط نشده‌اند بلکه این اطلاعات پراکنده در مناطق مختلف جغرافیایی بوسیله پارامترهای مشترکی مانند: یک شخص خاص، یک مکان خاص، یک ایده و نظریه خاص، یک مفهوم خاص و. به هم پیوند داه می‌شوند.






اهداف اصلی وب مفهومی

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

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






مجتمع فضای مجازی یا فضای مجازی مجتمع چیست؟

تصورکنید کامپیوتر و تمام دستگاههای قابل حملتان (مثل موبایل و لپ تاپ و کتاب خوان و.) در تمام اوقات با هم همسان سازی شده باشند(sync سنکرون باشند). تصورکنید هر وقت که اراده کردید به تمام اطلاعات شخصی خودتان دسترسی پیدا کنید. تصورت کنید توانایی دسته بندی و سازماندهی و جستجوی تمام اطلاعاتتان را روی اینترنت داشته باشید. تصور کنید که بتوانید تمام اطلاعات خود را از قبیل عکس، فیلم، مطلب، ایمیل، فایلها و مدارک، و. را برای دوستان، فامیل، همکاران بصورت فوری به اشتراک بگذارید. همه اینها وعدهای مجتمع فضای مجازی شخصی است.

این مطلب را درک و باور کنید یا نه، به هر حال احتمالاً همین الآن در حال استفاده از یک سرویس مبتنی بر فضای مجازی مجتمع هستید. و تقریباً همه کسانی که با کامپیوتر کار می‌کنند. gmail و google docs دو نمونه اولیه از مجتمع فضای مجازی هستند که ما حتی فکرش را هم نمی‌کردیم که بر پایه همین نوع سرویس باشند.

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






فضای مجازی مجتمع شخصی شما

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






سرویس‌های «فضای مجازی مجتمع»از چه چیزیهای تشکیل می‌شوند

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

شرکت بین‌المللی اطلاعات کامپیوتر(IDC) با لیست دم دستی بدرد بخوری آمده تا تعیین کند چه چیزهای را می‌شود برچسب فضای مجازی مجتمع زد و چه چیزهای را نه؟!






مشخصات کلیدی سرویس‌های «فضای مجازی مجتمع

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






وب‌گاه

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

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

همهٔ وب‌گاهها در کنار هم یک تار جهان‌گستر بزرگ از اطلاعات را درست می‌کنند.

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

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






مرور

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

وب‌گاهها را به زبان اچ‌تی‌ام‌ال می‌نویسند و یا پس از آنکه در زبان دیگری نوشته می‌شوند به زبان اچ‌تی‌ام‌ال تبدیلشان می‌کنند و دسترسی به آن‌ها از طریق یک نرم‌افزار با نام مرورگر وب یا مشتری HTTP امکان‌پذیر است. دست‌رسی به وب‌گاهها از طریق رایانه‌های موجود روی شبکهٔ اینترنت یا وسایل مرتبط با اینترنت شامل رایانه‌های رومیزی، رایانه‌های کیفی و روپایی، رایانه‌های دستیار (PDA) و تلفن‌های همراه امکان‌پذیر است.

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

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

ویرایش‌گرهای متن مانند Notepad یا برنامه‌های ویرایش‌گر متنی که درشان می‌توان پروندهٔ HTML را مستقیماً ویراست.
ویرایش‌گرهای چاپ‌نما (WYSIWYG) مانند Microsoft FrontPage و Macromedia Dreamweaver که در آن‌ها اطلاعات سایت را یک واسط GUI می‌ویراید و پروندهٔ HTML با نرم‌افزار ویرایش‌گر خودکار تولید می‌شود.
ویرایش‌گرهای الگومحور مانند Rapidweaver و iWeb که به کاربران اجازه می‌دهند به سرعت حتی بدون هیچ آشنایی با HTML و تنها با انتخاب الگوی مورد نظر خود از میان الگوهای موجود، سایت وب مورد نظرشان را ایجاد کرده و آنرا روی سرور وب قرار دهند. افزودن رنگ و تصویر و متن به الگو با استفاده از یک نشر رومیزی (DTP) صورت می‌گیرد که در این صورت نیازی به آشنایی با کد HTML وجود ندارد.

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

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

اپلتها می‌توانند توانایی‌های مرورگرهای وب را بیفزایند و از آن‌ها برای نمایش «محتویات فعال» استفاده کنند. از میان این نرم‌افزارها می‌توان به Flash یا اپلت‌های نوشته شده به زبان جاوا اشاره کرد. زبان‌های ابرمتن‌نویسی پویا(DHTML) در به‌روزآوری بی درنگ صفحات وب کاربرد زیادی دارند (در صورت استفاده از این فن، برای اعمال تغییرات به اطلاعات موجود لازم نیست به بارگذاری بپردازید)، که در آن‌ها از الگوی شیءگرای سند(DOM) و جاوااسکرپیت استفاده شده‌است، که در مرورگرهای نوین وب به صورت پیش‌ساخته دیده می‌شوند.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 4:28 pm
تعاریف

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

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





هدف: زبان‌های برنامه نویسی با زبان‌های طبیعی تفاوت دارند و آن اینکه زبان‌های طبیعی فقط برای فعل و انفعالات بین مردم به کار می‌روند، در حالیکه زبان‌های برنامه نویسی همچنین به انسانها اجازه می‌دهد که از طریق دستورات با ماشین‌ها ارتباط برقرار کنند. برخی زبان‌های برنامه نویسی بوسیله یک دستگاه استفاده می‌شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه‌های پست اسکریپت(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.



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

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

دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف می‌شوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص می‌کند:

یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکسته‌ای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی می‌تواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) می‌آید.
یک لیست تعدادی پرانتز است که می‌تواند صفر یا چند عبارت در خود داشته باشد.

"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثال‌هایی هستند از دنباله‌های خوش فرم در این گرامر.

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

به عنوان مثال در زبان طبیعی، ممکن نیست به برخی از جملات درست از لحاظ گرامری، معنای خاصی اطلاق کرد و یا ممکن است جمله نادرست باشد:

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

این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام می‌دهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);

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




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


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

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

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.
ساعت : 4:28 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
بهینه سازهای وب | next page | next page