بحث پیرامون آینده زبان ها و فناوری های مربوط توسعه نرم افزار

برای future reference خودمون دوست داشتم اینجا یک بحثی رو شروع کنیم ( البته امیدوارم به جدل نکشه :smiley: یا پاک نشه :smiley: )
از نظر دوستان :
3 زبان محبوبشون که کاربردی هست امروزه
3 زبانی که باهاش رابطه love-hate دارن ولی عقیده دارن پابرجاست و کاربردی ( دلیل کدورتشونم بگن)
3 زبانی که در 10 سال آینده دیگه خبری ازشون نخواهد بود
هدف تاپیک؟ : سرمایه گذاری بر روی فراگیری زبان هایی که کاربردی ترند
نکته مهم: همه زبان ها در یک مسئله ای کاربرد دارن و دلیل نمیشه از یادگیریشون صرف نظر کنیم البته فعلا!
خودم شروع میکنم: محبوب ها: پایتان ( سرراست ترین زبان برای رسیدن به مقصود و آینده ای درخشان بدلیل استفاده در هوش مصنوعی) - روبی ( پلتفرماش) - جاوااسکریپت (قدرت بالاش در حیطه وب)
منفورها: PHP (سینتکسش و خسته کننده بودنش) Javascript (همون love-hate دلیلشم سینتکس عجیب غریب و نداشتن استاندارد. عوض شدن مداوم) - Java(بی دلیل!)
فراموش شدگان آینده : جاوااسکریپت ( با زبان های ساده و کاربردی تر دیگه ای جایگزین میشه) - php (همین الانشم پایتان جاشون پر کرده ولی این مطلبم خوندش خالی از لطف نبود) - Java (پیشبینی کاهش شدید از استفاده اپ های موبایل منبع منبع2)

سلام دوست عزیز، چرا باید پاک بشه؟ اینجا کسی چیزی رو تا برخلاف قوانین سایت نباشه پاک نمیکنه و در بیشتر موارد اول با نویسنده موضوع درمیون گذاشته میشه :grin:

اما در مورد مطلب شما میخواستم بپرسم که این دسته بندی بر اساس چه منابع و تحقیقاتی بوجود آمده؟ آیا فقط نظر شخصی بوده؟, چون بنظر میرسه وضعیت js و php با چیزی که شما گفتید خیلی همخوانی نداره، به عنوان مثال از اونجایی که React-Gatsby با JS نوشته شده من حدث میزنم به اندازه کافی روی کل موضوع و حتی مواردی که نام بردین مطالعه نشده. من کلا پیشنهاد میکنم که همیشه دلیل هم در کنار نظرمون داشته باشیم (البته خود شما هم اشاره کردین).

بهتر بود موضوع همونطور که در تیتر اومده روی زبان های برنامه نویسی تمرکز داشت چون فکر نمیکنم Django, Jekyll, React-Gatsby و Rails اصلا زبان برنامه نویسی باشند.‌

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

4 Likes

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

خب چرا تیتر رو اصلاح نمی کنید؟

جاوا هیچ وقت قرار نیست از بین بره ، در ضمن با توجه به این ویژگی های جدید که بهش اضافه شده محبوبیتش داره بیشترم میشه . دقت کنید که جاوا فقط مختص اندروید نیست و دنیای جاوا خیلی خیلی گسترده و بزرگه ، از لباس شویی گرفته تا مودم های صنعتی و لاگرهای هواشناسی و بعضی از سیستمهای مخابراتی فقط با جاوا کار میکنند :drooling_face: همین الانشم سری به سایتهای کاریابی بزنید ببیند درخواست Spring و … جاوا چقدره و چقدر دستمزد میگیرند .
php هم با اینکه من خوشم نمیاد اما اونم قرار نیست جایی بره ، بخاطر وجود چیزهایی مثل وردپرس و دروپال و جوملا و … خیلی خیلی سخته بشه گفت که php از دور خارج میشه . خود پی اچ پی هم از دور خارج کنید این ابزارها در ذهن مردم هستند و استفاده میکنند .
کلا هیچ زبونی قرار نیست جایی بره فقط کم استفاده میشه ، پارسال یه مقاله خوندم که هنوزم از cobol استفاده میکنند :cold_sweat:

علاقه خود من : elixir + python + Crystal
اگر برام سرعت توسعه مهم باشه از پایتون استفاده میکنم ( جاوا پدر منو در میاره گاهی بخصوص نسخه های پایینش )
اگر برای وب و بازار کار … باشه تا در امکان دارم سعی میکنم از php + laravel استفاده کنم
مابقی موارد بغیر io کلا از الکسیر استفاده میکنم .

3 Likes

من همین الان روی یه پروژه cobol کار می کنم, کسی که نوشتتش تقریبا دیگه بین ما نیست :wink:

4 Likes

https://sokanacademy.com/blog/2041/کوبول-یک-زبان-برنامه‌نویسی-قدیمی-که-کماکان-زنده-است
وقت کنید حتما بخونید ، چیزی که برای من خیلی عجیبه اینه که با جاوا مقایسه شده و بعد نویسنده اذعان کرده که جاوا در مقیاس بزرگ و … قابلیت رقابت با Cobol رو نداره :sweat_smile::sweat_smile:

2 Likes

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

زبونهای مورد علاقم (نمیتونم بینشون اولیت قرار بدم چون هرکدوم تو زمینه‌ی خودشون بهترین هستن):

C
Python
Clojure & ClojureScript
Rust
Crystal (کار نکردم، شاید هیچوقت کار نکنم، ولی دوسش دارم)
SQL (درسته که در حقیقت «زبان کوئری» هست. ولی فکر کنم استحقاق اینجا رو داشته باشه.)

زبانهای منفور:

PHP
JavaScript
.net (همشون)

در نهایت بگم خانواده‌ی lisp هیچوقت نمیمیره.
زبانهای باحال دیگه‌ای هم هستن که شاید به درد نخورن ولی جا داره یه اسمی ازشون ببرم:

jsf*ck
brainf*ck
piet

البته jsf*ck میتونه برای کد کردن یه بخشی از کد js استفاده بشه، مثلا مخفی کردن یه چیزی که نمیخوایم به راحتی دست کاربر بیفته. (حجم کد خیلی بالا میره)
و brainf*ck هم هدفش کوچیک بودن کامپایلر بود (کامپایلر ۱۰۰بایتی). شاید بازم لازم بشه (به خاطر سادگیش، شاید بهترین گزینه برای metaprogramming باشه. گرچه خودش قابلیت اینکارو نداره و باید از یه زبان دیگه برای تولید کدهاش استفاده کرد)
piet هم صرفا باحاله.


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

4 Likes

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

گوگل داره dart رو توسعه میده که بشه جایگزین js. به نظر من js محو میشه کم کم.

1 Like

از وقتی نزدیک کامپیوتر اومدم هرساله میشنوم که C یا Java یا … قراره محو بشه اما نه تنها نمیشه بلکه روز به روز پروژه های بزرگتری باهاشون میزنند . حتی همین الان شرکتهایی میشناسم که با نسخه های قدیمی دلفی و حتی VB6 کار میکنند .

خب این طبیعی هست چون این سایت با پایتون توسعه داده شده ، چطور که بر اساس آمار github هم استفاده از ror روز به روز بیشتر میشه


مثلا به این لینک بالا دقت کنید ، اینم یه حرف دیگه میگه و شغل برای ror از django بیشتره طبق ادعاشون

کلا بنظر شخصی من نباید به این حرفها توجه کرد و برای هر کار مناسب ابزار مناسب انتخاب کرد و اینکه با چی حال میکنی و علاقه داری با همون کار کنی

2 Likes

از نظر من که اندروید و ای او اس کارم زبان های مثل react native جا زبانهای دیگرو میگیرن آینده فکر کنم پایتون و جاوا اسکریپت محبوب ترین زبان ها باشن
پایتون برای هوش مصنوعی عالیه و جاوا اسکریپتم که داره داخل هر صنعتی سرک میکشه و پشتیبانی قویم ازش میشه

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


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

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

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

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


نکته اینجاست که هر زبانی که Turing complete باشه میشه باهاش هر پروژه‌ای رو نوشت. هر پروژه‌ای در هر زمینه‌ای.
و من به شخصه زبانی رو نمیشناسم که تورینگ‌کامپلیت نباشه. حتی خیلی زبانهایی که برای فان ساخته شدن (مثل piet) هم تورینگ‌کامپلیت هستن.
کسی که فقط C بلد باشه، میتونه از همون زبان برای هر پروژه‌ای استفاده کنه. دلیل نمیشه بهترین زبان باشه. مخصوصا با توجه به ظهور زبانهای جدیدی مثل rust که به طرز غیر قابل باور بهتر از C هست. (به نظر من GC میتونست بهتر از این باشه، ولی هرچی هست، بهتر از C هست)

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


اگه زبانی بجز JavaScript کار نکردید، و یا پلتفورمی بجز موبایل کار نکردید، پیشنهاد میکنم حتما یه سری به زبانها و پلتفورمهای دیگه بزنید.
مطمئنم نظرتون درمورد js عوض میشه.
حتی برای موبایل هم فقط زمانی استفاده از react native بهتره که کمبود منابع داشته باشیم و بخوایم یه نفر برای هردوتا پلتفورم (اندروید و آی‌او‌اس) کد بزنه و فقط لازم باشه یک کد رو maintain کنیم. در غیر این صورت، استفاده از کاتلین و سویفت گزینه‌ی بهتریه.

مطالعه‌ی بیشتر: “چرا JS آشغاله؟

4 Likes

خیلی مقاله جالبی بود :clap:

1 Like

جالب بود قبرستان گوگل. بعضیاش همین دو روز پیش مردن :smile:

1 Like

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

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

1 Like

React زبان نیست

بله درست میگید اشتباه تایپی بود یک فریم ورک خوبیش اینه یک کد نوشته میشه و برای دو سیستم عامل اجرا میشه و از نظر سرعت و هزینه بهتره من خودم چهار سال جاوا کار کردم اما خب برنامه نویسی به سمت سادگی داره میره

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

2 Likes

مخالفم سال ۱۹۴۰ میگفتن سال ۲۰۱۰ انسان فضا رو کلونایز میکنه و سال ۱۹۸۰ تلویزیون رنگی و ۳ بعدی میاد بیرون. بازیDetroit become HumanD خیلی قشنگ پرداخته بهش :grin:

بله یکی از کسانی که گفته این رو سازنده گیت هاب است ، به هرحال یه زمانی که ویژال و … دراومده بود میگفتند برنامه نویسی نابود میشه همه چی دراگ دراپ میشه اما نشد