JavaRush /جاوا بلاگ /Random-SD /هڪ پروگرامنگ ٻولي چونڊيو

هڪ پروگرامنگ ٻولي چونڊيو

گروپ ۾ شايع ٿيل
مون کي پهريون ڀيرو پروگرامنگ اسڪول ۾، ڪمپيوٽر سائنس جي ڪلاسن ۾ ملي. اهي n-ary نمبر سسٽم جي اصولن جي ڪجهه ٿڪائيندڙ وضاحتون هيون. خير، هڪ امتحان جي طور تي، مون کي پنهنجي ويب سائيٽ لکڻو هو. پوءِ مون کي لڳو ته دنيا ۾ ان کان وڌيڪ بور ڪندڙ سرگرمي ٻي ڪا نه هئي. مان ڪيترو غلط هئس! بدقسمتي سان، اسڪول جو ڪمپيوٽر سائنس جو نصاب IT جي ڪم جي مڪمل تصوير مهيا نٿو ڪري، ۽ اهو واضح ناهي ته هڪ پروگرامنگ ٻولي ڪيئن چونڊيو وڃي. پروگرامنگ ٻولي چونڊڻ - 1سوال پڇڻ کان اڳ ”ڪهڙي پروگرامنگ ٻولي سکڻ لاءِ چونڊيو وڃي“، هڪ شروعاتي کي پاڻ کي واقف ڪرڻ گهرجي ته ڪهڙيون ٻوليون موجود آهن ۽ انهن جا فرق ڪهڙا آهن.

داخلا جي حد: اعلي، گهٽ، وچولي

پروگرامرز جي وچ ۾، توهان اڪثر ڪري "داخل ٿيڻ جي حد" بابت ٻڌي سگهو ٿا - هڪ تصور جيڪو هڪ فرد "جونيئر" لاء گهربل ڪوشش جي مقدار کي ظاهر ڪري ٿو جيڪو ڪافي سطح تي پروگرامنگ ٻولي کي ماهر ڪرڻ لاء ڪافي سطح تي پنهنجو پهريون سنجيده پروگرام لکڻ ۽ نوڪري ڳولڻ لاء. "داخل ٿيڻ جي حد" علم تي مشتمل آهي:
  • نحو جون خاصيتون ۽ ٻوليءَ جي نزاڪت؛
  • لائبريريون
  • الگورتھم ۽ ڊيٽا جي جوڙجڪ.
حقيقت ۾، جيتوڻيڪ Excel ۾ ڪم ڪري سگهجي ٿو پروگرامنگ جو هڪ قسم. رستي جي ذريعي، هي واقف آفيس پروگرام ايترو سادو ناهي جيترو اهو لڳي ٿو. هڪ لاء، داخلا جي حد هڪ ٽيبل ٺاهڻ جي صلاحيت هوندي، ٻئي لاء - پيچيده فارمولن ۽ ميڪروز جي ڄاڻ. ڪنهن به صورت ۾، هن حد ننڍي آهي. اڳيون اڌ ٻوليون اچن ٿيون: مثال طور، 1C پروگرامنگ. پوء - سکڻ لاء آسان ترين ٻوليون: مثال طور، PHP . اڳيون ٻوليون آهن جن ۾ ڏيهي (عام طور تي انگريزيءَ مان نڪتل) نحو آهي جن کي ميموري سان دستي رابطي جي ضرورت ناهي: مثال طور، Java ، JS . پوءِ اھي ٻوليون آھن جن کي ميموري، ڊيٽا ڍانچي ۽ الگورتھم جي انتهائي محتاط ھينڊلنگ جي ضرورت آھي: مثال طور، C , C ++ . نوجوان گھڻ-پيراڊيم ٻولين ۾، شايد، داخلا ۾ سڀ کان وڌيڪ رڪاوٽ آھي، ڇاڪاڻ⁠تہ انھن کي ماسٽر ڪرڻ لاء توھان کي ٻين پروگرامنگ ٻولين ۾ ھڪڙي کان وڌيڪ ڪتا کائڻ جي ضرورت آھي: مثال طور، اسڪالا . پر سڀ کان پهريان، جڏهن ٻولي چونڊيو، توهان کي فيصلو ڪرڻ گهرجي ته توهان اڳتي ڇا ڪرڻ چاهيو ٿا: ويب، انٽرنيشنل، ڊيسڪ ٽاپ يا موبائل ايپليڪيشنون.

ويب يا نه ويب؟

ويب

ويب پروگرامرز کي فرنٽ اينڊ ۽ بيڪ اينڊ ڊولپرز ۾ ورهائي سگھجي ٿو . اهو سمجهڻ جي قابل آهي ته انهن اصطلاحن جو مطلب ڇا آهي. ”فرنٽيڊ“ ڊولپرز کي نام نهاد ڪلائنٽ سائڊ سان ڊيل ڪيو - جيڪو صارف ڏسندو. “Backend” خدمت جو سافٽ ويئر ۽ هارڊويئر حصو آهي - جيڪو سرور تي هلندو آهي. فرنٽيڊ ڊولپر لاءِ فيصلو ڪرڻ لاءِ ته ڪهڙي پروگرامنگ ٻولي چونڊڻ لاءِ، لازمي طور تي جاوا اسڪرپٽ ۽ ان جا فريم ورڪ آهن: Angular JS، React ۽ ٻيا. JS dialects انهن جي والدين وانگر مشهور نه آهن، پر پڻ مفيد ٿي سگهن ٿيون: CoffeeScript، TypeScript. فليش AS پڻ آهي، اڳ ۾ JScript ۽ VBScript موجود هئا، پر صرف ڊائناسورن کي ياد آهي ته =) ان کان علاوه، توهان کي HTML ۽ CSS کي سمجهڻ جي ضرورت آهي .
پروگرامنگ ٻولي چونڊڻ - 2
ڪيترن ئي شروعات ڪندڙن جو خيال آهي ته جاوا اسڪرپٽ ۽ جاوا لڳ ڀڳ هڪجهڙا آهن؛ انهن ٻولين کي پريشان نه ٿيڻ گهرجي. JS کي "LiveScript" سڏيو ويندو هو ۽ ان جو موجوده نالو خاص طور تي لفظ "جاوا" جي مقبوليت جي ڪري مليو. PHP، پٿون، روبي، پرل، جاوا ويب پس منظر لاءِ موزون آهن. هتي مان PHP ڏانهن ڌيان ڏيڻ چاهيان ٿو - اسان ٻين ٻولين جي باري ۾ بعد ۾ ڳالهائينداسين - سکڻ لاء آسان ترين ٻولين مان هڪ آهي، جنهن ۾ گهٽ داخلا حد آهي. روبي، واقف ويب ڊولپرز جي هڪ سروي پاران فيصلو ڪندي، آهستي آهستي پر يقيني طور تي مقبوليت حاصل ڪري رهي آهي: ان جي اختصار ۽ خوبصورتي لاءِ پيار ڪيو ويندو آهي.

غير ويب (انٽرپرائز، ڊيسڪ ٽاپ، موبائل)

مون خاص طور تي انهن پروگرامنگ ٻولين کي اهڙي عجيب نالي سان هڪ درجي ۾ گروپ ڪيو. انهن مان گھڻا انٽرپرائز لکڻ لاءِ استعمال ڪري سگھجن ٿا، ڊيسڪ ٽاپ، ۽ حتي موبائل ايپليڪيشنون. Python ، سمجھڻ ۾ آسان OOLP، مشين لرننگ جي ترقيءَ سبب تازو ئي ناقابل اعتبار حد تائين مقبول ٿيو آھي : ان جا پيروڪار وڏي پيماني تي Python استعمال ڪن ٿا. ايم ايل آئي ٽي ۾ ڪافي نوجوان علائقو آهي، ۽ جيتوڻيڪ پهريون ميوو اڳ ۾ ئي ملي چڪو آهي، مان پروگرامنگ ٻولي کي چونڊڻ وقت هن صنعت ۾ ڊيوٽي ڪرڻ لاء جلدي نه ڪندس. پهرين، توهان کي رياضي ۾ تمام سٺو هجڻ جي ضرورت آهي. ٻيو، مقبوليت جي لهر ساڳيءَ ريت ٿي سگهي ٿي جيئن ”بلاڪ چين“ يا ”نانو ٽيڪنالاجي“ سان. اضافي طور تي، جيئن توهان کي ياد آهي، Python ويب ڊولپمينٽ ۾ استعمال ٿيندو آهي. C ++ : کلاسک، سڀڪنھن شيء کي "پلس" جي بنياد تي ٺهيل آهي. هي ٻولي تمام مشهور OOLPs جي پروجينٽر هئي، ۽ هڪ شروعاتي کي ضرور ان تي ڌيان ڏيڻ گهرجي. ڪيتريون ئي مشهور ايپليڪيشنون ان تي ٻڌل آهن. پر ”پاڻ کي پيرن ۾ گولي هڻڻ“ جو وڏو امڪان ۽ سمجھڻ ۾ مشڪل نحو، پروگرامنگ جي هن ماسٽوڊن ۾ مهارت حاصل ڪرڻ جي شروعات ڪندڙ جي امڪان کي رد ڪري ٿو. ڪوٽلن - جاوا هپسٽرز لاءِ - او او پي ۽ فنڪشنل پروگرامنگ جو هڪ چريو ميلاپ. تازو ئي مشهور آهي انهي حقيقت جي ڪري ته هڪ تجربيڪار ڊولپر جيڪو سوئچ ڪري ٿو جاوا کان ڪوٽلن تائين پنهنجي پيداوار کي بهتر بڻائي ٿو. هڪ تجربيڪار ڊولپر جلدي هن ٻولي کي استعمال ڪيو ويندو. رستي جي ذريعي، ساڳيو اسڪالا تي لاڳو ٿئي ٿو، پر ڪوٽلن Android ۾ مشهور آهي. جاوا هڪ شروعاتي لاءِ سکڻ آسان آهي. بشمول، JavaRush جي مهرباني : اهو هتي هو ته مون سمجهيو ته ڪيئن چونڊيو هڪ پروگرامنگ ٻولي =) جاوا نحو واضح آهي، "پاڻ کي پيرن ۾ گولي" ڪرڻ جو امڪان آهي، پر نازڪ ناهي.

او او پي يا پي او پي؟

طريقيڪار وارو طريقو

طريقيڪار تي مبني انداز ۾ هڪ پروگرام لکڻ شامل آهي ترتيب وار بيانن تي مشتمل آهي جنهن کي هڪ مڪمل ۾ گڏ ڪري سگهجي ٿو مؤثر طريقي سان مسئلن جي مخصوص حد کي حل ڪرڻ لاءِ. انهن ٻولين ۾ شامل آهن: C , PureBasic ۽ Pascal . ساڳيا جيڪي هاءِ اسڪول ۽ جونيئر شاگردن ۾ مايوسي آڻين ٿا. اتي پڻ هڪ نسبتا نوجوان GO آهي . بهرحال، طريقيڪار ٻولين سان واقفيت هڪ امڪاني ڊولپر لاء تمام مفيد آهي. مون لاءِ، پروسيجرل ٻولين ۾ وسرڻ جو تعلق ميٿميٽيڪا سسٽم (ولفرام) ۽ يونيورسٽي جي تحقيقي سرگرمين سان آهي. صحيح الخوارزمي طريقن ۽ سادي طريقيڪار جي مهرباني، پروگرام جي شروعات کان ان جي آخر تائين لڪيريءَ سان هلڻ، مان انهن قدرن کي ڳڻڻ جي قابل ٿيس، جيڪي جديد نظرياتي فزڪس سان لاڳاپيل آهن. اهو انهن "ترتيباتي" ٻولين جي مهرباني آهي جنهن کي توهان سمجهڻ شروع ڪيو ته ڪڏهن ڪڏهن اهو آسان آهي ڪوڊ لکڻ جي ڀيٽ ۾ پنهنجي پاڻ تي ڳڻڻ کان. پي پي پي جو مطالعو سٺو الورورٿمڪ ٽريننگ مهيا ڪري ٿو، جيڪو هڪ آجر لڳ ڀڳ هميشه هڪ اميدوار ۾ ڏسڻ چاهيندو آهي جڏهن نوڪرين تي. آئي ٽي ۾ هر شيءِ ۽ هر ڪنهن جا بنياد پروسيجرل ٻولين تي ٺهيل آهن، تنهنڪري انهن کي گهٽ نه سمجهو. رستي ۾، شروعات ڪندڙ جيڪي فيصلو ڪن ٿا ته ڪهڙي پروگرامنگ ٻولي سکڻ لاءِ چونڊيو وڃي اڪثر سوچيندا آهن ته ملٽي ٿريڊنگ OOP جو خاص تعصب آهي. هي غلط آهي. پروسيسنگ پروگرامنگ ٻوليون پڻ توهان کي متوازي حساب ڪتاب ڪرڻ جي اجازت ڏين ٿيون.
پروگرامنگ ٻولي چونڊڻ - 3

اعتراض تي مبني انداز

اهي جيڪي طريقيڪار ٻولين سان شروع ڪيا ويا آهن اڪثر ڪري رياضيات، الگورتھم ۽ ڊيٽا جي جوڙجڪ جي سٺي ڄاڻ آهي (اهو ٽيڪنيڪل يونيورسٽين ۾ علم جي انهن علائقن تي زور ڏيڻ جي ڪري آهي). جڏهن ته، جديد حقيقتن ۾، ڪامياب پروگرامر اڪثر ڪري اهي آهن جن کي چڱي طرح مهارت حاصل ڪئي آهي ٻئي طريقي سان پروگرامنگ - اعتراض تي مبني. او او پي جو نظريو اهو ممڪن بڻائي ٿو ته حقيقت ۾ عالمي نظام ٺاهڻ. هن طريقي جي خاصيت اها آهي ته ان جي حقيقي دنيا سان هڪجهڙائي آهي:
  • مختلف شيون هڪ ٻئي سان لهه وچڙ ۾ اچن ٿيون ۽ هڪ ٻئي کان آزاد طور تي موجود آهن.
  • شين جو هڪ درجو آهي ۽ انهن جي ابن ڏاڏن جي رويي کي اپنائڻ يا تبديل ڪرڻ جي قابل آهن.
  • توهان تجريدي تصورن سان ڪم ڪري سگهو ٿا، پر صرف حقيقت ۾ موجود شيون مداخلت ڪري سگهن ٿيون.

مثال

طريقيڪار تي مبني ٻوليون مخصوص مسئلا حل ڪرڻ جا اوزار آهن. ۽ جيڪڏهن توهان جي ڪم ۾ تبديلي آئي آهي، جيتوڻيڪ هڪ معمولي، توهان کي گهڻو ڪري وقت ۽ ڪوشش خرچ ڪرڻو پوندو سڀني الگورتھم کي ٻيهر لکڻ ۾.

Представим программу, описывающую автосалон, который продает легковые и грузовые автомобor, How новые, так и подержанные. В proceduresном языке для каждого an object нужно описать функции, обрабатывающие ввод or вывод данных для нового легкового, нового грузового, б/у легкового и б/у грузового автомобилей. А что предлагает ООП? При an objectно-ориентированном подходе нужно просто описать базовый класс ТРАНСПОРТ, который будет хранить в себе характеристики, присущие и тому, и другому типу автомобилей:

  • Марка
  • Объем двигателя
  • Мощность
  • Год выпуска
  • Новый or б/у
  • Цена

И методы для ввода-вывода информации. Затем создадим an objectы, наследующие характеристики класса ТРАНСПОРТ: ЛЕГКОВУШКА и ГРУЗОВИК. Они содержат уточнённую информацию, присущую именно таким видам транспорта, а также методы ввода-вывода.

Внезапно руководство салона решило расширить ассортимент и продавать еще и мотоциклы. Процедурный подход предложит переписать всю логику для новых и б/у мотоциклов с самого начала, в то время How ООП-язык позволит просто создать новый an object МОТОЦИКЛ, наследующий все характеристики суперкласса ТРАНСПОРТ и содержащий уточнения.

А что будет, если добавлять разные транспортные средства? Процедурная реализация будет требовать больших трудозатрат, чем ООП. Причем чем больше ассортимент, тем меньше нужно будет делать манипуляций с an objectми.

Итак, ООП — это стиль программирования, позволяющий объединять данные и методы одной сущности и работать с ними How с цельным an objectом. Сущности могут выстраиваться в иерархии и взаимодействовать между собой, не вдаваясь в подробности внутренней реализации друг друга. Для себя я выделяю три причины, по которым ООП — более прогрессивный подход:
  1. ООП предполагает независимую разработку отдельных модулей, предоставляя программисту or команде выбирать способ и границы соприкосновений и обмена информацией.

  2. Разбиение на небольшие модули намного проще для восприятия, чем монолитные proceduresы. Благодаря этому сторонний разработчик быстро разберется в твоем codeе, а ты при необходимости войдешь в новый проект.

  3. Изменение одного an object может ниHow не отразиться на взаимодействии с другим, но способно повлиять на иерархию дочерних an objectов. Освоив такой подход, расширение и доработка программы становится тривиальной задачей.
Нужно помнить о том, что один подход не противоречит другому, но иерархически ООП всё же находится выше. Собственно, почему я рекомендую именно Java? Я бы выделил следующие причины:
  1. Кроссплатформенность.

    Java работает везде благодаря JVM —виртуальной машине Java. Один из главных плюсов этого языка — кроссплатформенность: не нужно думать о том, Howую библиотеку подключить, Howова архитектура у конкретного процессора. «Написано однажды —работает всегда».

  2. Документация.

    وسيع دستاويزن جو بنياد: سرڪاري Oracle دستاويز، تربيتي پورٽل، مسلسل ترقي ڪندڙ ڪميونٽي. اڪثر سوالن جا جواب جيڪي ترقي جي دوران پيدا ٿين ٿا، چند منٽن ۾ ملي سگھن ٿا، بنيادي شيء اهو سمجهڻ آهي ته سرچ انجڻ ۾ ڇا ٽائپ ڪيو وڃي =)

  3. مقبوليت.

    جاوا دنيا ۾ سڀ کان وڌيڪ مشهور پروگرامنگ ٻولي آهي: مٿي ڄاڻايل Android ۽ ويب ڊولپرز کان علاوه، تقريبا هر پهريون ڀيرو انٽرنيشنل ڊولپر جاوا ۾ لکي ٿو. انٽرپرائز هڪ اندروني ترقي آهي جيڪا وڏي ڪارپوريشنن جي ضرورتن لاءِ ضروري آهي.

    هر سال، نفرت ڪندڙ "جاوا جي موت" جي اڳڪٿي ڪندا آهن، اهي چون ٿا: " Oracle ان جي حمايت ڪرڻ بند ڪري ڇڏيندو، ۽ عام طور تي توهان بکواس ڪري رهيا آهيو ." هي غلط آهي! جاوا جا نوان ورزن هر ڇهن مهينن ۾ جاري ٿيڻ جو واعدو ڪيو ويو آهي. جديد ورزن جي سڀ کان اهم جدت ۽ خاصيتون هتي پڙهي سگهجن ٿيون .

    منهنجي لاءِ، جاوا 8 ۾ ليمبڊاس هڪ انقلاب ۽ دريافت هئا، نه ته نئين نسخن جو ذڪر ڪرڻ! ھاڻي مان ڪم ڪري رھيو آھيان ھڪ ”ريٽروگريڊ“ پروجيڪٽ تي، تنھنڪري مان جدت ۾ مشغول نه آھيان، پر جاوا جي رھڻ واري حقيقت ھڪ حقيقت آھي.

    پروگرامنگ ٻولي چونڊڻ - 4
  4. Android.

    Android گذريل 4 سالن کان موبائيل فون مارڪيٽ جي 80 سيڪڙو کان وڌيڪ حصي تي اعتماد سان قبضو ڪري چڪو آهي ؛ ٽي وي، ميڊيا پليئر ۽ ڪارن ۾ ميڊيا سسٽم به هن آپريٽنگ سسٽم تحت هلن ٿا. ۽ هن او ايس جي ترقي خاص طور تي جاوا ۾ ڪئي وئي آهي. بس تصور ڪريو ته ڪهڙا امڪان کليل آهن. جڏهن مون کي هڪ Android ڊولپر جي حيثيت ۾ نوڪري ملي، مون کي دلچسپي پيدا ٿي: ڪيتري قيمت آهي جنهن کي مان ترقي ڪري رهيو آهيان؟ اهو ظاهر ٿيو ته قيمت في سال تقريبن $ 5 آهي. هڪ معقول سوال پيدا ٿيو: هن آفيس لاءِ پئسا ڪٿان آيا، تنخواه لاءِ، ڪوڪيز، ٽينس ٽيبل، روبوٽس ۽ ٻين ”سٺن شين“ لاءِ؟ اهو مقدار جو معاملو آهي: اسان جي ايپليڪيشن ۾ 20 ملين استعمال ڪندڙ آهن.

  5. تنخواه.

    ۽ مٺاڻ لاءِ: جاوا ڊولپر جي تنخواه صنعت ۾ سڀ کان وڌيڪ آهي. توهان هڪ خاص مقصد لاءِ پروگرامنگ سکڻ وارا آهيو: سٺي نوڪري حاصل ڪرڻ لاءِ.

پروگرامنگ ٻولي جي مقبوليت

جڏهن هڪ پروگرامنگ ٻولي چونڊيو، توهان کي سکڻ جي آخري مقصد بابت سوچڻ جي ضرورت آهي - توهان جي پهرين نوڪري حاصل ڪرڻ. مختلف ٻولين جي مقبوليت جو اندازو لڳائڻ لاءِ، مان هڪ مشهور ڀرتي واري پورٽل تي ويس ۽ ماسڪو جي مختلف درخواستن لاءِ خالي جاين جو تعداد ڏسڻ شروع ڪيو. توھان ھيٺ ڏنل نتيجا ڏسي سگھو ٿا.
جاوا: 277
پٿرن: 227
php: 188
c#: 147
c++: 131
روبي: 40
اسڪالا: 24
ڪوٽلن: 20
جيتوڻيڪ تازو مشهور پٿون جاوا کان اڳتي نه وڌي سگهيو. پر اهي مضموني ڊيٽا آهن: هڪ مخصوص شهر، هڪ مخصوص ڏينهن. سرڪاري ذريعا آهن، اچو ته انهن ڏانهن رخ ڪريون. آڪٽوبر 2018 تائين، TIOBE جي مطابق، جاوا پهرين نمبر تي آهي. PYPL رينڪنگ ۾ ، جاوا ٻي جاءِ وٺي ٿي، JS کان گھڻو اڳتي ۽ ”فيشنبل“ پٿون سان مقابلو ڪندي.

نتيجا

هتي اهو آهي ته هڪ شروعاتي کي ڌيان ڏيڻ گهرجي جڏهن هڪ پروگرامنگ ٻولي چونڊيو وڃي:
  • مقبوليت (جاوا مسلسل هڪ اهم حيثيت رکي ٿو)؛
  • داخلا جي حد (جاوا لاءِ - اوسط: نوڪر طرفان گهربل صلاحيتن جي حد ڪافي وسيع آهي)؛
  • دستياب مواد (روسي ۾ JavaRush سان ملندڙ ڪو به پورٽل ناهي، تنهن ڪري، کجيء جو اندازو لڳايو وڃي ٿو ڪير =))؛
  • ايپليڪيشن جا علائقا: وڌيڪ صنعتون جن ۾ هڪ پروگرامنگ ٻولي استعمال ڪري سگهجي ٿي، مارڪيٽ ۾ وڌيڪ ماهرن جي ضرورت آهي. مون اڳ ۾ ئي ڪراس پليٽ فارم بابت ڳالهايو آهي، پر مان ان کي ورجائيندي ٿڪجي نه ويندس.
يقينن، اتي هر جڳهه خرابيون آهن، پر جيڪو هلندو آهي اهو روڊ تي مهارت حاصل ڪندو: صرف توهان اهو فيصلو ڪري سگهو ٿا ته ڪهڙي پروگرامنگ ٻولي چونڊڻ لاء . توهان جي پڙهائي ۾ سٺي قسمت!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION