De ce este bine sa stim mai multe limbaje de programare


(Georgiana Gligor) #1

Pararea lui Bjarne Stroustrup (creatorul C++) pe subiect.

Nobody should call themselves a professional if they only knew one language.


(Cosmin Popescu) #2

Inainte sa ma angajez incercam sa ma focusez pe un singur limbaj, C#.
De cand m-am angajat am avut de aface cu php, linux scripting, python si c# din nou. Plus sql

La linux scripting a trebui sa gasesc alte metode de a aborda o problema si sa folosc comenzile in avantajul meu

Acelasi lucru si pt python.

M-am mai jucat si putin cu awk si am observat ca nu este char asa de scarbos, ba dinpotriva este util in tot ce tine de prelucrare de text :slight_smile:

Chiar am implemetat un algoritm in awk

Legat de php, vreau sa il invat mai calumea. Poate chiar sa invat si un framework :smiley:


(Red) #3

Problema nu ține de a ști mai multe limbaje (PHP + SQL se pune ca 2 limbaje?), ci: Cine ne plătește să facem un proiect în mai multe limbaje pentru a determina care implementare funcționează mai rapid pentru o problemă dată?

Altfel, cine plătește orele suplimentare pentru a testa în PHP, Java, Go, Python, Ruby o problemă dată? Sau SQL vs. noSQL?

Și aici mă refer la plata cu ora. Că dacă ai un salar fix, ce rost are să-ți dedici timpul să îmbunătățești ceva dacă oricum nu contează la finalul lunii?


(Cosmin Popescu) #4

Cred ca este mai mult vorba de dezvoltarea ta profesionala si nu de cat iei in mana pt un proiect
Din ce stiu, munca la un proiect se masoara in mandays. Si se tarifeaza conform acelui manday.

Tu poti sa zici ca iti ia X mandays sa il termini, dar de fapt il termini mai repede.
Si la mine s-a intamplat sa termin un proiect mai repede decat am spus.

Personal as face asa ceva. L-as folosi la proiecte viitoare

Imi place sa cred ca noi(cei care dezvolta soft) trebuie sa fim intr-o invatare continua. :slight_smile:

Bineinteles si partea financiara este extrem de importanta si de multe ori decide


(Red) #5

Cosmine, ești tânăr, viața înainte.

Dar cu timpul vei vedea și tu că totul costă. Când e de dat bani la asigurare, stat, alimentară, banii se dau pe loc. Instant.

Când ai nevoie de asigurare, stați că nu e așa simplu. Trebuie să trecem prin niște proceduri, trebuie să ne asigurăm noi că ce vă plătim e ce vrem noi să plătim, nu e așa, uite problema, uite banii.

De asemenea vei învăța cu timpul că: cu cât arăți că ești bun, cu atât ți se va da mai multă muncă. Vei avea oameni de verificat, cod de urmărit, soluții de dat. Ghici ce? Pe aceeași bani.

Cam pe la 31 - 33 de ani te vei lovi de întrebarea: Eu de ce mă muncesc ca un cal? Pentru ce? Alți 10 programatori taie frunză la câini și eu să-mi dau sufletul să le fac aplicația să meargă? True story, mi-a zis un prieten.


(Cosmin Popescu) #6

Este adevarat si acest lucru :slight_smile:

Eu sunt inca la inceput. De obicei eu iau proiecte sau task uri pe care stiu ca le voi duce la bun sfarsit

Eu sunt angajat, deci nu am treaba cu freelancing-ul. Poate ma voi apuca intr-o zi de el. Mai mult pt rotunjire de venituri

Pana acum sunt bucuros ca am reusit sa pastrez un balan work vs personal life :slight_smile:
Ceea ce sper sa se intample in continuare

Ce am scris mai sus este din perspectiva unui on care este la inceput !
O zi frumosa iti doresc :slight_smile:


Sunt mai multe video uri de acest gen .


(Adrian) #7

Eu pentru asa ceva prefer Perl. E un limbaj pe care-l urasc, dar il stiu suficient de bine ca sa fac tot felul de chestii cu el. Il consider write-only, isi face treaba cum trebuie pentru ce am nevoie, asta este. Cand trebuie sa ma uit prin programe Perl scrise de altii, injur de 5 ori pe secunda :slight_smile:


(Adrian) #8

Cateodata e bine sa scrii in doua limbaje. Alea interpretate sunt foarte bune pentru a scrie un prototip inainte de a te apuca pe bune de proiectul in limbajul ‘mai serios’.
Eu prefer C++ dar cand vreau sa vad ‘rapid’ cum merge, se poate si cu Matlab/Octave, Mathematica sau python. De exemplu la seria asta https://compphys.go.ro/dft-for-a-quantum-dot/ legata de DFT am implementat initial in Octave.


(Cosmin Popescu) #9

Pot sa confirm ca Matlabul este foarte util pt aplicatii stiintifice si prototipare de algoritmi. De asemenea genereaza si cod c, c++, java etc

O data l-am folosit la un proiect pt a face heavywork cu el, iar partea de interfata a aplicatiei am facut-o in windows forms

La noi la facultate se studiaza si matlab precum si octave

awk-ul mi-a fost la indemana in acel caz :slight_smile:
In perl stiu ca este facut cPanel. De asemenea php-ul a imprumuta din el. '$, ->'
Scripturi cgi in perl. Anii '90 :slight_smile:


(Adrian) #10

Mda, noroc ca l-a inlocuit php-ul, ca altfel nu stiu ce mama naibii era. Bineinteles ca nu scriu parte de backend in Perl, ci de exemplu in php, care nici ala nu-mi place dat e totusi mult mai uman.

Perl e pentru chestii mici de tipul prelucrarii fisierelor text/fisiere de configurare.

Recomandarea mea pentru tine e sa nu inveti limbaje la gramada, doar ca sa fie un limbaj ‘nou’, orienteaza-te mai bine pe paradigme https://en.wikipedia.org/wiki/Programming_paradigm, nu pe limbaje, invata limbajul doar ca o aplicatie. Vezi daca ai ceva lacune, alege un limbaj potrivit pentru paradigma respectiva si invata-l.


(Cosmin Popescu) #11

Yep !
Este un sfat bun :slight_smile:
Si pt mine, dar si pt altii !


(Adrian) #12

Dar vezi daca vrei programare functionala, sa nu te apuci de invatat JavaScript (probabil ca-l stii deja), mai bine chiar Lisp. Asta are avantajul ca-l inveti in 30 de secunde, are sub zece instructiuni.

Glumesc :slight_smile: Doar partial.

Sau Haskell daca vrei, eu am o slabiciune pentru Lisp din diverse motive…

Daca totusi vrei ceva ce merge in frontend, ai clojure https://en.wikipedia.org/wiki/Clojure .