Dasturlash tillarini o'rganishda qanday qilib mahoratli bo'lish

Dasturlash tilini o'rganing agar siz ko'proq dasturlash tillarini bilsangiz, asta-sekin osonlashadi. Ya'ni, har bir yangi tilni o'rganganingizda yangi tillarni o'rganish oson va osonroq bo'ladi. Siz turli xil tillarni o'rganish orqali ushbu jarayonni tezlashtirishingiz mumkin.
Ma'lumotlar tuzilishi va algoritmlari haqida biror narsa biling. Agar siz algoritmlar va ma'lumotlar tuzilmalari haqida bilmasangiz, dunyodagi barcha dasturlash tillari sizga ko'p foyda keltirmaydi. Bu siz o'rganadigan til, platforma va rivojlanish vositalaridan ustun bo'lgan vositalar. Tartiblash haqida bilish foydali bo'ladi, masalan, ko'pgina tillarda siz uchun haqiqiy saralashni amalga oshirish uchun kutubxonaviy tartibingiz bo'lsa ham.
  • Ba'zi bir asosiy mantiq, matematika va tilshunoslikni bilish ham yaxshi, ammo zarur emas.
Turli xil tillarni biling.
  • Ssenariy tili va tizim tili o'rtasidagi farqni bilib oling. Bu hozirga qaraganda ancha ahamiyatli bo'lgan: ko'p odamlar murakkabroq tizimlar uchun Python, Ruby va JavaScript (ECMAScript) kabi skript tillaridan foydalanmoqdalar, platformalar uchun API-lar esa turli tillarda mavjud bo'lmoqda.
  • Turli tizimlar orasidagi farqni bilib oling. Turli tizimlar bilan bahs-munozaradan oldin nimani bilish kerakligi buni yaxshi tushuntiradi.
  • Stack va to'plangan dasturlash o'rtasidagi farqni bilib oling.
  • O'tish qiymati va ma'lumotnoma orqali o'tish o'rtasidagi farqni bilib oling.
  • Strukturalangan, ob'ektga yo'naltirilgan, funktsional va protsessual dasturlash o'rtasidagi farqni bilish. Berilgan til odatda bularning biriga e'tibor qaratadi, ammo ba'zilari ularni aralashtiradilar.
  • Tarkibiy kodni, sharhlangan kodni, bir vaqtning o'zida tuzilgan kodni va virtual mashinadagi kodni ishlatish o'rtasidagi farqni bilib oling. Ular turli xil ishlash xususiyatlariga ega va dasturlashning har xil uslublariga ruxsat beradi yoki talab qiladi. Virtual mashinadan qachon foydalanish kerakligini va mashinaning arxitekturasida kodni qachon ishga tushirishni bilish, loyiha uchun muvaffaqiyat va muvaffaqiyatsizlik o'rtasidagi farqni anglatishi mumkin.
Dasturlashning turli xil xususiyatlari va uslublaridan foydalanishga imkon beradigan tillarni sinab ko'ring.
  • Siz ko'pincha dasturlashning ma'lum bir uslubi uchun ushbu dasturlash uslubini o'rganish uchun ishlatilishi mumkin bo'lgan juda sof, ammo biroz amaliy bo'lmagan til va keyinchalik siz kundalik hayotda foydalanishingiz mumkin bo'lgan amaliy til mavjudligini topasiz. Dasturlash tillarini yaxshiroq o'rganish uchun ba'zi sof (tadqiqot) tillarni o'rganish kerak, chunki ular amaliy tillarni tezroq o'rganishda yordam beradi.
  • Ob'ektga yo'naltirilgan dasturlash uchun namuna sifatida Smalltalk-ni o'rganishga harakat qiling. Siz unda ko'p narsa qura olmaysiz, lekin bu dasturlarga mo'ljallangan dastlabki tillardan biri edi. Ruby Smalltalk merosining bir qismini saqlab qoladi, shu bilan birga siz dasturlash uchun juda ko'p turli xil vazifalarni bajarishingiz mumkin. Java, C # va C ++ - bu ob'ektga yo'naltirilgan dasturiy ta'minot bilan yuqori darajadagi tillar.
  • Interfeyslardan foydalanadigan tillar uchun Java, C # yoki C ++ ni sinab ko'ring. Python, C ++ va boshqa ko'plab tillar bir nechta merosga ruxsat beradi, Scala esa "xususiyatlar", interfeyslarning qiziqarli birikmasi, ko'p meros va abstraktlardan foydalanadi.
  • Prototipga asoslangan ob'ektga yo'naltirilgan dasturlash uchun JavaScript (ECMAScript) tilini o'rganing. JavaScript-da darslar mavjud emas: buning o'rniga prototiplar mavjud. Self - bu prototipga asoslangan dasturlashni boshlagan asl til, va bunday dasturlash uchun ActionScript, Lua va REBOL dasturlaridan foydalanish mumkin.
  • Funktsional dasturlash uchun OCaml yoki Haskellni o'rganishni ko'rib chiqing. Bu statik tipik funktsional dasturlash tillari. Ko'proq amaliy funktsional tillar uchun Scala (Java Virtual Machine-da) yoki F # (.NET-da) ni ko'rib chiqing.
  • Agar siz juda dinamik dasturlash tilini sinab ko'rmoqchi bo'lsangiz, Ruby, Python, Perl yoki Lisp-ni sinab ko'ring. Ushbu tillardagi tip tizimlar Java yoki C kabi tillardan juda farq qiladi. Ushbu turdagi tizimlarga ega bo'lmagan atrof-muhitda kodlash uchun nima qilish kerakligini ko'rish uchun ushbu turdagi tillarni sinab ko'rishga arziydi - birlik sinovi, metaprogramma texnikalar, o'rdaklarni terish va boshqalar.
  • Domenga xos tillarni sinab ko'ring, bu juda aniq maqsadlar uchun yaratilgan tillar yoki mavjud funktsiyalar to'plamini ifoda etish uchun mavjud tilning ustiga o'rnatilgan til abstraktsiyasi. Bularning ba'zilari SQL, XSLT, FreeMarker, ASP.net, C # LINQ, Shell skriptlar, YACC, AWK, SED va boshqalar. Ruby va Scala ikkalasidan ham domenga xos tillarni yaratish uchun foydalanish mumkin. E'tibor bering, ko'pgina domenlarga tegishli tillar Turing to'liq emas.
Qarama-qarshilikka turli yondashuvlar haqida bilib oling.
  • Qarama-qarshilik hisoblashda qiyin masala bo'lib, ko'plab yangi tillar parallel parchalarni yozishning yangi usullarini taqdim etmoqda. Ushbu yondashuvlarning ba'zilarini kutubxonalar yordamida osongina qurish mumkin emas va buning o'rniga tilning o'zi qo'llab-quvvatlashni talab qiladi.
  • Tishli oqim moslashuvni qo'llab-quvvatlashning eng keng tarqalgan usuli hisoblanadi, ammo uni qurish juda qiyin bo'lishi mumkin. Java, C ++ va boshqa ko'plab tillar iplarni qo'llab-quvvatlaydi, Python va Ruby kabi ba'zi tillar haqiqiy tizim darajasida emas, balki "yashil iplarni" qo'llab-quvvatlaydi. Yig'ish murakkablashadi, chunki barcha mavzular bir xil global ma'lumotlarga kirishga muhtoj, bu poyga sharoitlari va boshqa shunga o'xshash muammolarga olib kelishi mumkin. Shunday qilib, boshqa yondashuvlar joriy etildi ...
  • Dastur operatsion xotirasi (STM) bitta echimdir. Erlang va Klojure - buni amalga oshiradigan ikki xil til.
  • Xabarlarni tarqatadigan aktyorlar yana bir echim: Skala va Erlang bunga e'tibor berishga arziydi.
  • Python va Ruby-da, voqealar ketma-ketligini ta'minlaydigan Twisted va EventMachine-ni ko'rib chiqing. Shu bilan bir qatorda, Node.js-ga qarang, u (server-tomoni) JavaScript hodisalar majmuasini yaratish uchun.
  • Birgalikda ishlash - bu kelishmovchiliklarni hal qilishning yana bir usuli: Google-dan Go tili - bu yangi statik tipli, tip-inferred tizimlar tili bo'lib, ishlashda C kabi, ammo sintaksis va soddaligi bo'yicha Python-ga o'xshaydi. U "goroutines" dan foydalanadi, bu qo'shma tartiblarning amalga oshirilishidir. Birgalikda muomalalar atrofida qurilgan yana bir til - bu belgi.
  • Dispatch navbatlari bu uchun yana bir echimdir: Mac OS X 10.6 va undan yuqori versiyalarda "Grand Central Dispatch" bu Apple C, C ++ va Objective-C-da foydalanish uchun yaratgan navbat tizimi. GCD-ning ochiq kodli versiyasi "libdispatch" sifatida mavjud. HawtDispatch deb nomlangan Java va Scala dasturlari ham mavjud.
Kodni o'qing. Yangi tilni o'rganish va tillarni o'rganishda mohir bo'lishning eng yaxshi usullaridan biri bu kodni o'qishdir. Ochiq manba kodi juda ko'p, va siz bir nechta dasturlarning kodlarini o'qib chiqqach, siz yaxshi va yomon kodlarni ko'rishni boshlaysiz va siz yoqtirgan va yoqmagan narsalarning ta'mini rivojlantirasiz, shuningdek nima uchun tushunasiz. ma'lum dasturlash uslublari va paradigmalar turli vazifalar uchun juda yaxshi.
Avval loyihani toping. Agar biron bir loyiha yoki maqsadga erishish kerak bo'lsa, odatda yangi tilni o'rganish osonroq bo'ladi. "Salom Dunyo" ni yozish orqali yangi tilni o'rganish ancha qiyin va tilning haqiqiy qobiliyatlaridan foydalanmaydi.
Kutubxona va til o'rtasidagi farqni ajrating. Ba'zi tillarda "kutubxona" va "til" ni ajrata olish chalkash bo'lishi mumkin. Shuningdek, "kod generatorlari" va "til" o'rtasida chalkashliklar bo'lishi mumkin. Oldindan o'rganilgan tilga o'xshash yangi tilni o'rganayotganda, kutubxonani va uning bema'ni ma'lumotlarini o'rganish katta vazifa hisoblanadi.
Turli xil vositalarni sinab ko'ring. Ba'zi dasturlash tillari ma'lum vositalar bilan yaxshi ishlash uchun yaratilgan. Ko'pgina tillarni Vim yoki Notepad2 yoki TextMate kabi matn muharriri yordamida yozish mumkin, ammo Emps-dan foydalanib, Lisp tilida ishlash osonlashtirilishi mumkin, chunki REPL muhitini ichki qo'llab-quvvatlaydi. C # yoki har qanday .net tilida ishlaganda, Visual Studio yoki MonoDevelop idealdir. Java-da ishlaganda Eclipse, NetBeans, IntelliJ IDEA va boshqa ko'p narsalar mavjud. Hatto tanlangan operatsion tizim va versiyani boshqarish tizimi kodning qanday yozilishini o'zgartirishi mumkin.
  • Asboblar dasturlashni aniqlashga imkon bermang va bir-biridan ikkinchisiga o'tishni esdan chiqarishga yo'l qo'ymang. O'rganish yangi qiziqish vositasida yangi vositalarni sinab ko'rish natijasida yuzaga keladi. Ko'pincha ishlatilayotgan vosita jarayonni sekinlashtirishi mumkin va bu yangi vosita bilan taqqoslanmaguncha aniq bo'lmaydi. Biroq, faqat "taraqqiyot" uchun vositalarni almashtirish, aslida o'rganish chizig'i, xatolar yoki mavjud jarayonlar bilan oddiy nomuvofiqlik tufayli narsalarni sekinlashtirishi mumkin. Ba'zan eski, tushunilgan vositalar modaga mos keladigan tanlangan yangi vositalardan afzalroqdir.
Haqiqiy hayotda o'rganing. Kodlash dojoslari, konferentsiyalar, bar lagerlari, hack kunlar, foydalanuvchilar guruhlari va kod lagerlari - bu o'rganishning ajoyib usullari. Ushbu guruhlar yangi g'oyalar bilan tanishish va ishlarning yangi usullarini aniqlashda kamdan-kam hollarda qatnashsa ham foydali bo'lishi mumkin. Yangi muhitda bahslashishning foydasi bor.
Yangi tillaringizni ishga soling. Professional dasturchilar ish joyida dasturlash tilining yangi bilimlaridan foydalanish imkoniyatlarini topishlari mumkin. Aqlli xushxabarchi bo'lmaslikka harakat qiling, ammo boshqa tillar muammoni yaxshiroq hal qilishi mumkin bo'lgan imkoniyatlarni qidirib toping. Biroq, biron bir loyihani yangi tildan foydalanish uchun mos kelmaydigan qilib loyihalashtirish muvaffaqiyatsiz bo'lish uchun retsepti hisoblanadi. Asboblar qutisida ko'proq vositalarga ega bo'lish har doim ko'proq imkoniyat va moslashuvchanlikni taklif qiladi.
  • Masalan, ish paytida Java loyihasida ishlayotganda, Ruby-dan foydalanish imkoniyati Buildr-da skriptlarni yozish mumkin va mavjud test kutubxonalari test kodini yozish uchun ishlatilishi mumkin (test / ruby, shoulda, RSpec va hk). u Java dasturida JRuby-dan foydalanib ishlaydi.
  • Skriptlash tillari har doim dinamik, yaratilgan yoki kechiktirilgan kodni skript qilishga ruxsat berish uchun mavjud dasturlarga qo'shilishi mumkin. Ruby, Python, JavaScript, XSLT va Lua - barchasi yaxshi nomzodlar.
  • Muharrir plaginlari, versiyani boshqarish ilgaklari va hokazolar Java yoki C tillariga qaraganda tez-tez engil, tez-tez erkin yoziladigan tilda yozilishi mumkin.
  • Agar siz oddiy dastur uchun old qism yozishingiz kerak bo'lsa, IronPython yoki MacRuby kabi skript tilidan foydalanishga harakat qiling.
  • Agar siz yuqori unumli dastur uchun murakkab zaxira nusxani yozishingiz kerak bo'lsa, sizga yaxshiroq moslashuvni ta'minlaydigan tillardan birini chiqarib oling: Erlang, Scala, Clojure va boshqalar.
  • Ehtiyot bo'ling: barcha kompaniyalar ham sizning tasdiqlanmagan dasturlash tillarida hiyla ishlatishni qadrlashmaydi. Va agar hammasi noto'g'ri bo'lsa, siz aybdor bo'lasiz!
Ochiq manbaga hissa qo'shing. Agar siz yangi dasturiy tillaringizni ishga tushira olmasangiz, siz har doim ochiq manbali loyihalarda ishlashingiz mumkin. Har qanday platforma (Linux, Windows, Mac va boshqalar), shuningdek buyruqlar satri vositalari, kutubxonalar, til xususiyatlari yoki hatto yangi til uchun qurilishi mumkin bo'lgan juda ko'p qiziqarli dasturlar mavjud. Agar yangi tilni o'rganishga harakat qilayotganingizda maxsus loyiha topilmasa, ochiq manbali loyiha juda yaxshi o'rnini bosishi mumkin.
Yangi dasturiy bo'lmagan tillarni o'rganing. Har yili yangi ma'lumotlar bazasini yoki yangi API-ni o'rganing. Yoki undan ham yaxshiroq, ba'zi dasturiy bo'lmagan ko'nikmalarni o'rganing. Ovqat pishirish, musiqa asboblari va fotografiya har doim geek doiralarida mashhur. Sport yoki faoliyat sizga o'ylash va dasturlash haqidagi fikrlarni bildirish uchun vaqt beradi. Bu juda muhim.
Har yili yangi til? Pragmatik dasturchilar kitobida har yili yangi dasturlash tilini o'rganishingiz kerakligi aytiladi. Har yili juda tez-tez bo'lib turishi mumkin, ammo vaqti-vaqti bilan yangi tillarni o'rganishga va so'nggi ishlanmalardan xabardor bo'lishga harakat qiling. Agar siz ish uchun yoki ochiq manbalar yoki shaxsiy loyihalar uchun tillardan foydalanishni tugatmasangiz ham, ularni bilish ish bilan ishlashda sizni yanada qadrliroq qiladi va sizga shaxsiy mamnuniyat baxsh etishi kerak.
Ba'zi dasturlash tillari sizga kod yozishning bir nechta usullarini taqdim etadi. Masalan, C # skriptini biron bir narsaning rangini qizil, ko'k va boshqalarga o'zgartirish uchun ko'p usullar mavjud.
tumomentogeek.com © 2020