PDA

View Full Version : سوال مهم درباره انواع برنامه نویسی



AmirHoseinHmd
شنبه 10 مهر 1395, 17:09 عصر
سلام ببخشید من چهار تا سوال داشتم اگه ممکنه لطفا افرادی که سررشته دارن پاسخ بدن:
اول اینکه تفاوت زبان های برنامه نویسی و زبان های نشانه گذاری و زبان های اسکریپت نویسی چیه؟ و هرکدوم برای چه کاری به کار میرن؟

دوم اینکه زبان های برنامه نویسی "وب" جزو کدوم یکی از سه تا به حساب میان؟

سوم اینکه چرا زبان های برنامه نویسی وب هیچ وقت توی مسابقات برنامه نویسی (مثل بیان، گوگل کد جم و...) نیستن؟ دلیلش چیه مگه اینام زبان به حساب نمیان؟

و سوال اخر اینکه زبان هایی مثل C , c#, python برای چه کاری به کار میرن؟ نرم افزار؟ وب؟ همه چی؟
ممنون میشم از افرادی پاسخ بدن باتشکر

پیام حیاتی
شنبه 10 مهر 1395, 18:16 عصر
با گوگل دوست باشیم!

AmirHoseinHmd
شنبه 10 مهر 1395, 18:35 عصر
با گوگل دوستم اما نتیجه مشخصی که من مد نظرمه توی گوگل پیدا نمیشه وگرنه خودم اولین کاری که میکنم سرچ در گوگله

SZsXsZS
یک شنبه 11 مهر 1395, 10:49 صبح
اول اینکه تفاوت زبان های برنامه نویسی و زبان های نشانه گذاری و زبان های اسکریپت نویسی چیه؟ و هرکدوم برای چه کاری به کار میرن؟
زبان نشانه گذاری برای توصیف ساختار یک چیزی بکار میره و به اون معنا زبان برنامه نویسی نیست.
مثلا HTML ساختار یک صفحهء وب رو بیان میکنه، ولی کد و منطق و الگوریتم هوشمندی در خودش نداره (البته یکسری مخلفات هوشمند سازی جزیی ممکنه داشته باشه ولی از یک زبان برنامه نویسی واقعی خیلی فاصله داره).

زبان های اسکریپتی هم به زبان های برنامه نویسی ای میگن که در اونها کدهای شما مستقیما به فایل اجرایی (exe) تبدیل نمیشن، بلکه یک برنامهء دیگر به اسم مفسر میاد و کدهای شما رو میخونه و از جانب برنامهء شما دستورات مورد نظر رو انجام میده.
البته اسکریپتی بودن به معنای این نیست که کدهای برنامهء یک زبان، مثلا پایتون یا PHP، نمیتونه به کد اجرایی و فایل اجرایی مستقیم تبدیل بشه. کما اینکه زبانهایی هستن که هم مفسر دارن و هم کامپایلر و تشکیلات که فایل اجرایی بدون نیاز به مفسر تولید میکنن. البته یک راه دیگر تولید فایل اجرایی هم اینه که خود مفسر رو در فایل اجرایی embed میکنن (یعنی داخلش هست)، ولی این روش بهرحال هنوزم داره به شکل تفسیر عمل میکنه و بطور مثال سرعت اجرای اون مقداری کمتر از فایلهای اجرایی عادیه.


دوم اینکه زبان های برنامه نویسی "وب" جزو کدوم یکی از سه تا به حساب میان؟
زبانهای برنامه نویسی وب بعضیاشون کامپایلی هستن بعضیاشون تفسیری/اسکریپتی. ماشین های مجازی مثل جاوا و دات نت رو هم میتونیم یک چیزی بینابین کامپایل مستقیم و کامل به کد ماشین و تفسیر از روی کد منبع تلقی کنیم.

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


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


و سوال اخر اینکه زبان هایی مثل C , C#‎‎‎‎‎, python برای چه کاری به کار میرن؟ نرم افزار؟ وب؟ همه چی؟
برای همه چیز قابل استفاده هستن. ولی C عمدتا برای برنامه نویسی سیستمی (برنامه های سرویس دهنده، برنامه هایی که نیاز به پرفورمنس بالا دارن، برنامه های سیستمهای embedded، نوشتن سیستم عامل، و البته در لینوکس برای نوشتن اپلیکیشن های دسکتاپ هم کاربرد داره).
البته پایتون و دات نت برای برنامه نویسی سیستمی استفاده نمیشن، چون خیلی سطح بالا هستن و ضمنا پرفورمنس اونا هم کمتره (نسبت به سی و سی++).

AmirHoseinHmd
چهارشنبه 14 مهر 1395, 14:03 عصر
واقعا از شما ممنونم لطف بزرگی کردید :قلب: