Mi bezonas konsilon pri kia programlingvo komenci

Demando

La plej grava lerteco por lerni en la hodiaŭa mondo estas scii kiel skribi komputilan programon. Hodiaŭ, komputiloj eniris en preskaŭ ĉiu industrio. Ĉu ĝi estas la aŭtomata piloto en aviadilo aŭ cifereca rapidometro en via biciklo, komputiloj en diversaj formoj ĉirkaŭas nin. Komputiloj estas ekstreme utilaj por ke organizo bone skalu. Pasis la tagoj de plumo kaj papero. Hodiaŭ, por konservi kaj aliri viajn informojn, vi nepre bezonas komputilojn.

La programado kaj programista komunumo ekaperas rapide pli rapide ol iam antaŭe. Aperiĝas diversaj novaj programlingvoj, kiuj taŭgas por malsamaj kategorioj de programistoj (Linukso-Sistema Programado, meza, kaj spertuloj) same kiel por malsamaj uzkazoj (TTT-apliko, moveblaj aplikoj, disvolviĝo de la ludo, distribuita sistemo, ktp).

Ni rigardu la plej bonajn Programlingvojn por lerni 2019 por laboro kaj por estontaj perspektivoj:

dum espereble amuziĝas

Python-Emblemo

dum espereble amuziĝas sendube superas la liston. Ĝi estas vaste akceptita kiel la plej bona programlingvo por lerni unue. Python estas rapida, facile uzebla, kaj facile deplojebla programlingvo kiu estas vaste uzata por evoluigi skaleblajn TTT-aplikaĵojn. Jutubo, Instagram, Pinterest, SurveyMonkey estas ĉiuj enkonstruitaj Python. Python provizas bonegan bibliotekan subtenon kaj havas grandan programistan komunumon. La programlingvo provizas bonegan elirpunkton por komencantoj. Parolante pri tiuj, kiuj serĉas pli bonan laboron, vi certe devus lerni Python ASAP! Multaj noventreprenoj uzas Python kiel sian ĉefan malantaŭan stakon kaj tiel, ĉi tio malfermas grandegan ŝancon por plenstakaj Python-programistoj. Jen specimeno de Python "Saluton Mondo!” programo:

  print "Saluton Mondo!"

Jes, Python estas tiel simpla! Ĉiu, kiu deziras aliĝi al noventrepreno, devus majstri Python-programadon.

Nivelo de malfacilaĵo: Facile lernebla. Plej bona lingvo por komencantoj. 5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Avantaĝoj:

  • Krei kaj uzi klasojn kaj objektojn estas facila danke al OOP-trajtoj
  • Vasta biblioteka subteno
  • Temigas kodlegeblecon
  • Havas la kapablon grimpi eĉ la plej kompleksajn aplikojn
  • Ideala por konstrui prototipojn kaj elprovi ideojn pli rapide
  • Malferma fonto kun ĉiam kreskanta komunuma subteno
  • Provizas subtenon por amaso da platformoj kaj sistemoj
  • Tre facile lernebla kaj uzo

Kons:

  • Ne taŭga por movebla komputado
  • Pli malrapida pro esti interpretita programlingvo
  • La datumbaza alirtavolo estas iom nematura
  • Fadenigado ne estas bona pro GIL (Tutmonda Interpretista Seruro)

Java

Java Logo

Java estas alia populara elekto en grandaj organizoj kaj ĝi restis tiel dum jardekoj. Java estas vaste uzata por konstrui entrepren-skalajn TTT-aplikaĵojn. Oni scias, ke Java estas ekstreme stabila kaj tiel, multaj grandaj entreprenoj adoptis ĝin. Se vi serĉas evoluigan laboron ĉe granda organizo, Java estas la lingvo, kiun vi devus lerni.

Java ankaŭ estas vaste uzata en Android App Development. Preskaŭ ĉiu komerco hodiaŭ bezonas Android-Aplikon pro la fakto ke ekzistas miliardoj da Android-uzantoj hodiaŭ. Ĉi tio malfermas grandegan ŝancon por Java programistoj pro la fakto, ke Google kreis bonegan Java-bazitan Android-disvolvan kadron - Android Studio..

Nivelo de malfacilaĵo: Facile moderigi por lerni. 4 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 4.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj Ĝavaj lerniloj kaj kursoj]

Avantaĝoj:

  • Abundo de malfermfontaj bibliotekoj
  • Aŭtomata memor-atribuo kaj rubkolekto
  • Sekvas la OOP-paradigmon
  • Havas la stakan atribusistemon
  • Alta grado de platforma sendependeco danke al la funkcio JVM
  • Tre sekura pro la ekskludo de eksplicita montrilo kaj inkludo de sekurecadministranto respondeca por difinado de la aliro de klasoj
  • Ideala por distribuita komputado
  • Proponas amason da API-oj por plenumi malsamajn taskojn, kiel datumbaza konekto, retigado, kaj rigardante kiel ili estas tuŝitaj, vi povas efektive inversigi aferojn kaj travidi tion.", kaj XML-analizo
  • Elportas multifadenadon

Kons:

  • Manko de ŝablonoj limigas krei altkvalitajn datumstrukturojn
  • Multekosta memoradministrado
  • Pli malrapide ol denaske kompilitaj programlingvoj, kiel C kaj C++

Arduino-Programado kaj Aparataro Fundamentoj kun Hackster

TCP/IP Socket Programado HandsOn-Vindozo

C/C++ estas kiel la pano kaj butero de programado. Preskaŭ ĉiuj malaltnivelaj sistemoj kiel mastrumaj sistemoj, dosiersistemoj, ktp estas skribitaj en C/C++. Se vi volas esti sistemnivela programisto, C/C++ estas la lingvo, kiun vi devus lerni.

C++ ankaŭ estas vaste uzata de konkurencivaj programistoj pro la fakto ke ĝi estas ekstreme rapida kaj stabila. C++ ankaŭ provizas ion nomatan kiel STL - Standard Template Library. STL estas aro de uzeblaj bibliotekoj por diversaj datumstrukturoj, aritmetikaj operacioj, kaj algoritmoj. La biblioteka subteno kaj rapideco de la lingvo faras ĝin populara elekto en la Altfrekvenca komerco komunumo ankaŭ.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Modera! 3.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Avantaĝoj:

  • Abundo da kompililoj kaj bibliotekoj por labori [TCP/IP Socket Programado HandsOn-Vindozo]
  • Faciligas aliri blokitajn aŭ kaŝitajn objektojn per aliaj programlingvoj [C]
  • Pli rapida ekzekuto de programoj ol plej multaj programlingvoj [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Formas la bazon por kompreni pli kompleksajn programlingvojn [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Elektebla lingvo por plur-aparato, evoluigo de plurplatformaj programoj [TCP/IP Socket Programado HandsOn-Vindozo]
  • Proponas grandan gradon de porteblo [C]
  • Proced-orientita lingvo kun grupo de funkciomoduloj kaj blokoj. Ĉi tiuj faras sencimigon, testado, kaj konservi la programojn pli facila [C]
  • Programoj estas pli efikaj kaj facile kompreneblaj [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Riĉa funkcio biblioteko [TCP/IP Socket Programado HandsOn-Vindozo]
  • Kuras proksime al la sistema aparataro kaj tial, ofertas malaltan nivelon de abstraktado [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Subtenu esceptan uzadon kaj funkcion troŝarĝadon [TCP/IP Socket Programado HandsOn-Vindozo]
  • Vasta vario de aplikaj domajnoj, kiel ludoj, GUI-aplikoj, kaj realtempaj matematikaj simulaĵoj [TCP/IP Socket Programado HandsOn-Vindozo]

Kons:

  • Kompleksa sintakso [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Ne subtenas programnomspacon [C]
  • Nekapabla solvi modernan, real-mondaj programaj defioj [C]
  • Malpli efika objektoorientita sistemo kompare kun aliaj OOP-bazitaj programlingvoj [TCP/IP Socket Programado HandsOn-Vindozo]
  • Necesas mane krei la altnivelajn konstrukciojn [C]
  • Neniu rubkolekto aŭ dinamika memor-atribuo [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Neniu kontrolado de rultempo [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Neniu strikta tipo-kontrolado [C]
  • Ne facila unua elekto por lerni programadon [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Plagita de la problemoj de bufro-superfluo kaj memorkorupto [Arduino-Programado kaj Aparataro Fundamentoj kun Hackster]
  • Pli malgranda norma biblioteko [C]

dum espereble amuziĝas

dum espereble amuziĝas estas la "frontend" programlingvo. JavaScript estas vaste uzata por desegni interagajn fasad-aplikaĵojn. Ekzemple, kiam vi alklakas butonon, kiu malfermas ŝprucfenestron, la logiko estas efektivigita per JavaScript.

Interretaj ludplatformoj estas postulataj lastatempe, multaj organizoj, precipe noventreprenoj, uzas NodeJS, kiu estas rultempa medio bazita en JavaScript. Node.js lasas programistojn uzi JavaScript por servil-flanka skripto—kurantaj skriptoj servil-flanko por produkti dinamikan retpaĝan enhavon antaŭ ol la paĝo estas sendita al la retumilo de la uzanto.. Tial nun kun JS, vi povas uzi ununuran programlingvon por servilflankaj kaj klientflankaj skriptoj. Se vi serĉas tiun bonegan teknikan laboron ĉe via plej ŝatata starto, vi devus serioze pripensi lerni JavaScript.

Nivelo de malfacilaĵo: Facile lernebla. 4.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj lerniloj kaj kursoj pri JavaScript]

Avantaĝoj:

  • Kliento-flanka JavaScript estas tre rapida. Ĝi funkcias tuj ene de la TTT-legilo ĉar ne estas kompila postulo
  • Donas pli riĉan interfacon al retejo
  • Tre diverstalenta
  • Ĝi estas la programlingvo de la reto
  • Reduktita reteja servilo-postulo pro esti klienta flanko
  • Regulaj ĝisdatigoj per la ECMA-specifo
  • Pluraj aldonaĵoj, kiel ekzemple Greasemonkey, por etendi la funkciecon
  • Simplisma efektivigo
  • Multaj rimedoj kaj enorma komunuma subteno
  • Uzita por konstrui diversajn aplikojn
  • Funkcias escepte bone kun aliaj programlingvoj

Kons:

  • Manko de kopio aŭ ekvivalenta metodo
  • Permesas nur ununuran heredon
  • Kiel la kodo ekzekutas sur la uzantmaŝino, multaj homoj elektas malŝalti JavaScript pro la timo esti ekspluatataj pro malica intenco
  • Povas esti malsame interpretita de malsamaj retumiloj

Iru programlingvon

Iru programlingvon

Iru, ankaŭ konata kiel Golang, estas programlingvo konstruita de Guglo. Go provizas bonegan subtenon por multfadenado kaj tiel, ĝi estas uzata de multaj kompanioj, kiuj multe dependas de distribuitaj sistemoj. Go estas vaste uzata en noventreprenoj en Silicon Valley. Tamen, ĝi ankoraŭ estas adoptita de hindaj kompanioj/startupoj. Tiuj, kiuj deziras aliĝi al Val-bazita ekentrepreno specialiĝanta pri kernaj sistemoj, devas majstri Golang.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Modera! 2.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj lerniloj pri golang]

Avantaĝoj:

  • Subtenita de Google
  • Esti statike tajpita lingvo faras ĝin pli sekura
  • Pli pura sintakso faciligas la lernadon
  • Ampleksa norma biblioteko ofertanta gamon da enkonstruitaj funkcioj por labori kun primitivaj tipoj
  • Ideala por konstrui SPA-ojn (unupaĝaj aplikaĵoj)
  • Saĝa dokumentado
  • Tre rapide ĉar ĝi estas kompilita al maŝinkodo

Kons:

  • Foresto de virtuala maŝino faras kompleksajn programojn malpli efikaj
  • Implicitaj interfacoj
  • Mankas ĉiuflankeco
  • Neniu GUI-biblioteko
  • Malfavora biblioteka subteno

Kiel rompi amidan ligon

R Programlingvo

R programlingvo estas unu el la plej ofte uzataj programlingvoj por Datuma Analizo kaj Maŝina Lernado. R provizas bonegan kadron kaj enkonstruitajn bibliotekojn por evoluigi potencajn maŝinlernajn algoritmojn. R ankaŭ estas uzita por ĝenerala statistika komputiko same kiel grafiko. R estis bone adoptita de entreprenoj. Tiuj, kiuj deziras aliĝi al la teamo "Analitika" de granda organizo, nepre devas lerni R.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 4 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj R-lerniiloj]

Avantaĝoj:

  • Kapablo funkcii perfekte sur diversaj operaciaj sistemoj
  • Aktiva, fungokomunumo
  • Esti malfermfonta kaj senpaga donas la kapablon fari ĝustigojn laŭ la postuloj
  • Ampleksa statistika analiza lingvo
  • Tre etendebla
  • Potenca paka ekosistemo

Kons:

  • Mankas sekurecaj funkcioj
  • Neniuj striktaj programaj gvidlinioj
  • Malbona administrado de memoro
  • Kvalito de kelkaj pakaĵoj estas subordina

Rapida

Rapida estas la programlingvo, kiu estas uzata por disvolvi iOS-aplikaĵojn. iOS-bazitaj aparatoj fariĝas ĉiam pli popularaj. Apple iPhone, ekzemple, kaptis signifan merkatparton kaj donas malmolan konkuradon al Android. Tial, tiuj, kiuj volas servi ĉi tiun komunumon, povas lerni Swift-programadon.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 4 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj lerniloj pri Swift]

Avantaĝoj:

  • Aŭtomata memoradministrado malhelpas memorfuĝojn
  • Subtenata de Apple
  • Pli bona skaleblo permesas facile aldoni funkciojn al la produkto kaj/aŭ alporti pliajn programistojn
  • Facile aldoni novajn funkciojn
  • Instigas programistojn skribi puran kaj legeblan kodon
  • Angla-simila sintakso faras ĝin tre legebla
  • Interoperable kun Objective-C
  • Eblas integri Servilan flankon Swift kun iu ajn teknologio
  • Plibonigas kundividon de kodo kaj plirapidigas disvolvan procezon kiam ĝi estas uzata por disvolvado de fasado kaj backend
  • Tre rapide kompare kun aliaj popularaj programlingvoj, kiel ekzemple Objective-C kaj Python

Kons:

  • Limigita komunuma subteno kaj rimedoj
  • Iom malstabila pro esti relative nova alveno sur la programa sceno
  • Neniu subteno por heredaj projektoj; uzeblas nur por iOS7 aŭ postaj programoj

PHP

PHP

PHP estas inter la plej populara backend programlingvo. Tamen PHP alfrontas malfacilan konkuradon de Python kaj JavaScript, la merkato ankoraŭ bezonas grandan nombron da PHP-programistoj. Tiuj, kiuj deziras aliĝi al sufiĉe bone malnova organizo kiel backend-programisto, devas celi lerni PHP-programadon.

Nivelo de malfacilaĵo: Facile lernebla. 4.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 4.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj PHP-lerniiloj kaj kursoj]

Avantaĝoj:

  • Abundo da potencaj kadroj
  • Facile komenci por krei retpaĝojn
  • Unuaklasa senararigado kun Xdebug
  • Giganta komunuma subteno kaj grandega ekosistemo
  • Multaj aŭtomatigaj iloj por testi kaj disfaldi aplikaĵojn
  • Neniu manko de bonaj aŭtomatigaj iloj por deplojo kaj testado
  • Elportas objektemajn kaj funkcia programado paradigmoj

Kons:

  • Disvolvi retejojn tute en PHP estas pli malrapida kompare kun uzi aliajn opciojn
  • Mankoj en terminoj de sekureco
  • Malbona erartraktado
  • Postulas etendaĵojn en pli granda mezuro

dum espereble amuziĝas

dum espereble amuziĝas

C# estas ĝeneraluzebla programlingvo evoluigita fare de Microsoft. C# estas vaste uzata por backend programado, konstruaj ludoj (uzante Unity), konstruante Fenestrajn poŝtelefonajn apojn kaj multajn aliajn uzkazojn.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: 2.5 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj lerniloj kaj kursoj pri C#]

Avantaĝoj:

  • Ĉar montrilaj tipoj ne estas permesitaj, multe pli sekura ol C kaj C++
  • Kapablo labori kun komunaj kodbazoj
  • Aŭtomata skalebla kaj ĝisdatigebla
  • Komponento-orientita, objekt-orientita programlingvo
  • Sekvas sintakson similan al la C programlingvo
  • Plene integrita kun la biblioteko .NET
  • Ideala por ĉiuj specoj de Vindoza disvolviĝo
  • Riĉaj aroj de bibliotekaj funkcioj kaj datumtipoj
  • Subtenas tipan sekurecon
  • Rapidaj tempoj de kompilo kaj ekzekuto

Kons:

  • Permesas montrilojn en 'nesekuraj' blokoj
  • Preskaŭ ĉiuj variabloj estas referencoj kaj memormalasignado estas implicita uzante rubkolektilon
  • Proponas malpli da fleksebleco ol C++
  • Postulas decan penon kaj tempon por lerni
  • Solvi erarojn postulas seriozan kompetentecon kaj scion

MATLAB

MATLAB

MATLAB estas statistika analiza ilo, kiu estas uzata en diversaj industrioj por Datuma Analizo. MATLAB estas vaste uzata en la Komputila Vizio kaj Bilda prilabora industrio ankaŭ.

Nivelo de malfacilaĵo: Facile moderigi por lerni. 3 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5.

Laborŝanco: Grandega! 4 Li studis ĉe la Lakeside Lernejo kie li evoluigis intereson en komputiko 5. [Plej bonaj lerniloj kaj kursoj de MATLAB]

Avantaĝoj:

  • Faciligas disvolvi sciencan simuladon danke al riĉa enkonstruita biblioteko
  • Funkcio povas esti etendita multe aldonante ilarkestojn
  • Alta koda efikeco kaj produktiveco ĉar ĝi ne postulas kompililon por ekzekuto
  • Ideala por disvolvi sciencajn esplor-aplikaĵojn
  • Matlab Coder permesas konverti kodon por uzi en aliaj programlingvoj, kiel ekzemple C++, Java, kaj Python
  • Platform-sendependa

Kons:

  • Ne libere uzi, postulas aĉeti licencon
  • Ne multe da apliko preter la amplekso de nombra komputado
  • Trakti erarojn generitajn dum kruc-kompilado postulas ampleksan scion kaj sperton
  • Pli malrapida pro esti interpretita programlingvo

alivorte ĉiu dissendilo havas malsaman frekvencon

  • Python kaj JavaScript estas varmaj en la noventreprena mondo. Multaj noventreprenoj uzas Django (dum espereble amuziĝas), Flakono (dum espereble amuziĝas), kaj NodeJS (dum espereble amuziĝas) kiel iliaj backend kadroj. Python kaj JavaScript estas facile lerneblaj kaj tial konsiderataj la plej bonaj programlingvoj lerni por komencantoj. Cetere, ambaŭ el ili ankaŭ provizas grandegan merkatan ŝancon. Tial, tiuj kiuj serĉas laborŝanĝon ankaŭ povas konsideri lerni ilin.
  • Java kaj PHP estas varmaj en la kompania mondo. Multaj organizoj uzas Spring (Java) kaj Codeigniter (PHP) kiel ilia retejo backend kadro.
  • R kaj MATLAB estas varmaj en la Analytics-mondo. Se vi volas disvolvi karieron en datuma analizo, ĉi tiuj estas la lingvoj por lerni.
  • C/C++ kaj Golang estas la plej bonaj elektoj en konstruado de malalta latenteco kaj skaleblaj sistemoj.

Lasu respondon