خبرنگاری رادیو تلویزیونی

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






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




نقش خبرنگاری در جامعه

در دهه ۱۹۰۲، که خبرنگاری نوین در حال پا گرفتن بود، نویسنده والتر لیپمن و فیلسوف آمریکایی جان دووی در مورد نقش خبرنگاری در دموکراسی با یکدیگر مباحثاتی داشتند. فلسفه بحث آنان هنوز مشخصه بحث در مورد نقش روزنامه نگاری در جامعه و دولت ملی است.

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

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

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




«دووی»، از سوی دیگر، معتقد بود که:

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

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

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

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




استانداردهای حرفه‌ای و اخلاقی

از خبرنگاران انتظار می‌رود که اصول خاص این حرفه را به درستی رعایت کنند. قسمتی از این اصول عبارت‌اند از :

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



عدم رعایت استانداردها

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

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

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

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

ناشران، مالکان و یا سایر مدیران اجرایی خصوصاً مقامات اجرایی تبلیغات فروش می‌توانند از قدرت خود بر خبرنگاران برای تأثیر بر نحوه گزارش و انتشار خبرها استفاده کنند. خبرنگاران معمولاً با استفاده از مدیریتی عالی «فایروال» بین بخش خبر و سایر بخش‌های یک سازمان خبری ایجاد می‌کنند تا بدین نحو مانع تأثیر ناخواسته سایر بخش‌ها بر بخش خبری شوند. مجله‌ای خبری به نام Columbia Journalism Review مثال‌هایی از میرانی که سعی کرده‌اند بر نحوه بوشش خبری تأثیر گذارند و یا آن دسته از مدیرانی که در صدد استفاده از قدرت خود برای تأثیر بر خبرنگاران نیستند و همچنین از خبرنگارانی که در مقابل این فشارها مقاومت کرده‌اند ارائه دهد.




گزارشگری در مقابل ویراستاری

عموماً ناشران و خوانندگان خبر میان گزارش «صرف حقایق» و «نوشتن نظرات شخصی» تمایز قایلند و این کار را اغلب با محدود کردن ستون نظرات به صفحه ویراستاری و صفحه مقابل آن یا «op-ed» (صفحه مقابل ویراستاری) انجام می‌دهند. سرمقاله‌های امضا نشده عموماً در بر گیرنده نظرات رسمی هیات ویراستاری است، درحالیکه صفحات op-ed می‌تواند ترکیبی از ستون‌های مشترک و دیگر مطالب باشد که غالباً در آنها سعی شده‌است توازنی میان نظرات سیاسی و اجتماعی مختلف ایجاد کند.

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




خبرنگاری غافلگیرانه

به معنای روش‌های تهاجمی و جسورانه‌ای است که خبرنگاران برای مواجه کردن افراد با سئولاتی که تمایلی برای صحبت کردن در مورد آن‌ها ندارند بکار می‌گیرند. این روش خصوصاً مورد استفاده خبرنگاران و یا گزارشگران تلویزیونی از جمله کارکنان CBS-TV ۶۰ دقیقه و توسط جرالد ریورا و هم اکنون در شبکه فاکس‌نیوز و توسط صدها گزارشگر محقق آمریکایی در شبکه‌های محلی قرار می‌گیرد.

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




خبرنگاری مغرضانه

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

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

تعداد زیادی از سازمانها، دانشگاه‌ها و موسسات حرفه‌ای وجود دارند که قائل به برتری و برتری روزنامه نگاری هستند. جایزه پولیتزر، که توسط دانشگاه کلمبیا در شهر نیویورک توزیع می‌شود، به روزنامه‌ها، مجلات و رسانه‌های پخش برنامه که در حوزه‌های مختلف روزنامه نگاری برترشناخته می‌شوند اعطا می‌شود. دانشکده تحصیلات تکمیلی روزنامه نگاری نیویورک جایزه آلفرد آی دوپونت-جایزه دانشگاه کلمبیا را به افراد برتر در روزنامه نگاری رادیو و تلویزیون اعطا می‌کند وموسسه اسکریپس هووارد جایزه ملی خبرنگاری را به برترین‌های ۱۷ حوزه رادیو و تلویزیون می‌دهد. [[انجمن خبرنگارهای حرفه ای[[نیز جایزه سیگما دلتا را به برترین‌های خبرنگاری اعطا می‌کند. و اما در صنعت تلویزیون، [[آکادمی ملی هنر و علوم تلویزیونی جوایزی را به برترین‌های ژورنالیم تلویزیونی اعطا می‌کند.





انواع خبرنگاری
سرمقاله نویسی

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

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

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

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

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

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




روزنامه نگاری پژوهشی

روزنامه نگاری پژوهشی در بین انواع روزنامه نویسی سخت ترین گونه روزنامه نگاری است.




خبرنگاری ورزشی

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

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





خبرنگاری علمی

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

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

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





ژورنالسیم تحقیقاتی

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

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





خبرنگاری مشاهیر یا مردم

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

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

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

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





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

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

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط 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 و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

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



نوع گذاری ایستا و متحرک

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


زبان‌های نوع گذاری شده ایستا می‌توانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوع‌ها را در جایگاه‌های منتنی مشخص می‌نویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریف‌ها را بر اساس متن استنباط می‌کند. غالب زبان‌های مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری می‌شوند



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

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

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




سنجش استفاده از زبان

مشکل است که مشخص کنیم کدام زبان برنامه نویسی بیشتر مورد استفاده‌است، و اینکه کاربرد چه معنی می‌دهد با توجه به زمینه تغییر می‌کند. یک زبان ممکن است زمان بیشتری از برنامه نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبان‌ها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکزداده متحد، غالباً روی کامپیوترهای بزرگ توانا است؛ fortran در مهندسی برنامه‌های کاربردی، C در برنامه‌های تعبیه شده و سیستم‌های عامل؛ و بقیه برنامه‌ها معمولاً برای نوشتن انواع دیگر برنامه‌ها کاربرد دارند. روش‌های مختلفی برای سنجش محبوبیت زبان‌ها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شده‌است:

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

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

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

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

یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثال‌های برنامه نویسی دسته بندی شود. برای مثال، غالب زبان‌های برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده می‌کنند، در حالیکه تعداد کمی این کار را نمی‌کنند. سایر زبان‌ها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
ساعت : 2:30 am | نویسنده : admin | گرافیکسولوژی | مطلب قبلی
گرافیکسولوژی | next page | next page