Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Nu imi platiti coletul cu cardul ...

Mi-au disparut amigdalitele ?

Exista vreun plan de terorizare p...

Schimbare adresa DNS IPv4 pe rout...
 Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric

CIV auto import
 Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...

Cumparat/Locuit in apartament si ...
 Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...

Kanal D va difuza serialul “...
 

Programming Basics

- - - - -
  • Please log in to reply
56 replies to this topic

#19
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009
Daca ai o comanda de un proiect si ai un termen de livrare nu cred ca poti astepta cateva luni. Daca vrei sa angajezi numai pentru a avea oameni cu experienta pe o anumita tehnologie - asta merge daca ai deja o echipa care face treaba :iti permiti sa astepti pana gasesti ce cauti. Oricum, cu cat esti mai specializat pe o tehnologie cu atat mai putin esti pe celelalte - logic - nu poti fi cu toate.

Edited by PlatonX, 06 November 2018 - 15:27.


#20
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Nu poti fi cu toate dar poti fi cu multe, iar cele cu care nu esti le poti stapani in timp nu foarte lung, cu pregatire anterioara suficienta. Aia cu atat mai putin... celelalte... simplifica mult lucrurile. Oamenii nu sunt identici, nu sunt galeti de aceeasi dimensiune care sunt umplute sau nu cu apa, si mai este sau nu loc.

#21
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,440
  • Înscris: 10.08.2005
Incepi cu topicul scris de OriginalCopy

https://forum.softpe...ebui-sa-le-tie/

Edited by MarianG, 06 November 2018 - 18:19.


#22
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004

View Postparabellum, on 06 noiembrie 2018 - 15:19, said:

De ce neaparat in 30 de zile? Stiu o firma care are postul afisat de luni de zile.
Inseamna ca nu "are nevoie".

#23
TS030

TS030

    Guru Member

  • Grup: Senior Members
  • Posts: 15,193
  • Înscris: 25.06.2012

View Postparabellum, on 06 noiembrie 2018 - 13:18, said:

Un foarte prost exemplu. Nu e bun deloc pentru un limbaj 'de inceput'.
Depinde de abordare. Cu cea gresita, "C first, C++... let's go with C with classes instead", intr-adevar lucrurile pot fi foarte dificile.
Abordarea corecta IMO nu e mult mai dificila decat, sa zicem, Python.

Poate nu chiar ca primul limbaj in care sa scrii alde "Hello World", dar l-as recomanda ca primul limbaj pentru "invatat serios". Si poti invata multe.
Iar adaptarea de la C++ la alte limbaje populare va fi usoara.

Edited by TS030, 06 November 2018 - 20:05.


#24
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010

Quote

Inseamna ca nu "are nevoie".
Nevoia sa zicem ca nu e stringenta. Sunt dispusi sa astepte, doar doar apare un fraier.

#25
TruthHurts

TruthHurts

    Senior Member

  • Grup: Senior Members
  • Posts: 2,155
  • Înscris: 06.10.2018

View Postparabellum, on 06 noiembrie 2018 - 15:00, said:

Vechea religie care zice ca pentru a dezvolta software ajunge sa stii un limbaj, si gata...
Nu stiu unde ai auzit tu de religia aia, dar nu cred ca printre programatori. E mai degraba exceptia de la regula, adica nisa: embedded, business/databases(in special mai pe vremuri), poate ceva scarpinat cu degetul mic de la piciorul drept in urechea stanga de catre ceva matematician cu ocaml(fiindca nu poate invata un limbaj normal)... din astea.

View Postparabellum, on 06 noiembrie 2018 - 15:00, said:

unul cu studii suficiente pe domeniile implicate poate sa invete python intr-o ora si sa scrie dupa aia cod care nu poate fi scris de unul care 'studiaza python' ani de zile...
Intr-o ora? Pai deja ii bati grav pe baietanii care cred ca se invata in 21 de zile, cum zice o celebra serie de cartulici. Nu intr-o ora, ci in trei luni de python, 10 ore pe zi invatat intens, serios -> abia zgarii suprafata in materie de ce-i aia dezvoltare software cat de cat serioasa. Bine, pythonul nici nu prea se preteaza foarte bine la asa ceva. Ci la scripting si ceva web lightweight cu django. Dar si pentru alea trebuie macar ceva luni de experienta.

Ceea ce faci diversi matematicieni si altii preocupati de "prelucrare date", cu python si biblioteci precum numpy, scipy, matplotlib, e de obicei mazgaleala cu laba gastii. Nu productie software(nici macar amatoriceasca). Poate o fi multumitor pentru ei daca obtin niste date, niste rezultate, dar aia n-are treaba cu meseria de programator.

#26
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010

Quote

ci in trei luni de python, 10 ore pe zi invatat intens, serios -> abia zgarii suprafata in materie de ce-i aia dezvoltare software
Poti sa tocesti python sute de ani, si nici macar nu zgarii suprafata aia, pentru ca se afla altundeva. Un papagal care invata cuvinte in engleza nu ajunge sa scrie ca Shakespeare. Pentru ca evident e necesar mai mult decat 'invatat engleza' sau, in cazul dezvoltarii software, 'invatat python'.

#27
iulian_1976

iulian_1976

    Active Member

  • Grup: Members
  • Posts: 1,576
  • Înscris: 10.05.2008
Raspunsurile sunt diferite pentru ca sunt o multitudine de limbaje si fiecare a inceput un limbaj in functie de un anumit context,conjunctura,fiecare limbaj de programare are avantajele si dezavantajele lui.

Cobol este un limbaj vechi si pentru ca o parte din banci au ramas inca pe acest limbaj se cauta programatori problema ramane unde il inveti? Posted Image
In ce context?
Sunt curios cati au invatat Cobol singuri si si-au gasit de munca ? Posted Image

Edited by iulian_1976, 26 November 2018 - 22:02.


#28
TruthHurts

TruthHurts

    Senior Member

  • Grup: Senior Members
  • Posts: 2,155
  • Înscris: 06.10.2018

View Postparabellum, on 16 noiembrie 2018 - 08:52, said:

Poti sa tocesti python sute de ani, si nici macar nu zgarii suprafata aia, pentru ca se afla altundeva. Un papagal care invata cuvinte in engleza nu ajunge sa scrie ca Shakespeare. Pentru ca evident e necesar mai mult decat 'invatat engleza' sau, in cazul dezvoltarii software, 'invatat python'.
"python se invata intr-o ora" te exclude de la a avea pareri valabile in legatura cu unde s-ar afla si cum ar arata "suprafata"

Tu crezi ca e cum ai procedat la matematica sau fizica...  Nu, programarea nu se toceste, se invata logic si practic folosind un stack tehnologic(limbaj + librarii/frameworkuri/diverse alte tehnologii) si anumite cunostinte specifice domeniului (oop, ooad, design patterns, algoritmi, structuri de date, samd).

Tot aud niste diletantisme.

"inveti doar limbajul" - nu exista cand vorbim de limbaje general purpose de larga raspandire. Nu e ca si cum inveti sintaxa, cuvintele cheie si vreo doua reguli si gata, "ai invatat limbajul". Nu scrii nici macar un "hello world" cu alea. Cand vorbim de astfel de limbaje, mereu exista si o "librarie standard" sau ceva echivalent. Daca spui "stiu java" ca un minim absolut se intelege ca stii Java SE adica specificatia limbajului + stapanirea la un nivel decent al celor mai utilizate api-uri din Java SE + cunostinte de OOP si ceva design patterns. Idem cu Python. Nu stii "python", stii si chestia asta la un nivel decent, respectiv stilul python de a crea programe(nu are suport full oop, e o amestecatura multiparadigma)

"nu conteaza limbajul" - alta aberatie de zile mari! fix de limbaj depind o multime de lucruri, de la concepte de paradigma (functional/procedural/oop), la chestiuni punctuale precum multithreading, la frameworkuri disponibile, bune practici ... si multe altele(care ghici ce? iau mult timp de stapanit)! Am putea zicem maxim ca unele se aseamana si poti face tranzitia cu ceva efort gen de la java la c#.net. Povestea aia ca "un programator adevarat se adapteaza la orice limbaj in cateva zile/saptamani/luni" e o aberatie emisa doar de cei care nu au habar ce-i aia dezvoltare reala de software, intr-un mediu profesionist... poate doar sa freci duda cu trei lulele trei surcele in timpul liber (sau in mediul academic, acolo se poarta)...

Edited by TruthHurts, 14 February 2019 - 22:45.


#29
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010

Quote

Tu crezi ca e cum ai procedat la matematica sau fizica...
LOL. Ok. Omniscientule. Posted Image

#30
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostTruthHurts, on 14 februarie 2019 - 22:40, said:


"python se invata intr-o ora" te exclude de la a avea pareri valabile in legatura cu unde s-ar afla si cum ar arata "suprafata"

Tu crezi ca e cum ai procedat la matematica sau fizica...  Nu, programarea nu se toceste, se invata logic si practic folosind un stack tehnologic(limbaj + librarii/frameworkuri/diverse alte tehnologii) si anumite cunostinte specifice domeniului (oop, ooad, design patterns, algoritmi, structuri de date, samd).

Tot aud niste diletantisme.

"inveti doar limbajul" - nu exista cand vorbim de limbaje general purpose de larga raspandire. Nu e ca si cum inveti sintaxa, cuvintele cheie si vreo doua reguli si gata, "ai invatat limbajul". Nu scrii nici macar un "hello world" cu alea. Cand vorbim de astfel de limbaje, mereu exista si o "librarie standard" sau ceva echivalent. Daca spui "stiu java" ca un minim absolut se intelege ca stii Java SE adica specificatia limbajului + stapanirea la un nivel decent al celor mai utilizate api-uri din Java SE + cunostinte de OOP si ceva design patterns. Idem cu Python. Nu stii "python", stii si chestia asta la un nivel decent, respectiv stilul python de a crea programe(nu are suport full oop, e o amestecatura multiparadigma)

"nu conteaza limbajul" - alta aberatie de zile mari! fix de limbaj depind o multime de lucruri, de la concepte de paradigma (functional/procedural/oop), la chestiuni punctuale precum multithreading, la frameworkuri disponibile, bune practici ... si multe altele(care ghici ce? iau mult timp de stapanit)! Am putea zicem maxim ca unele se aseamana si poti face tranzitia cu ceva efort gen de la java la c#.net. Povestea aia ca "un programator adevarat se adapteaza la orice limbaj in cateva zile/saptamani/luni" e o aberatie emisa doar de cei care nu au habar ce-i aia dezvoltare reala de software, intr-un mediu profesionist... poate doar sa freci duda cu trei lulele trei surcele in timpul liber (sau in mediul academic, acolo se poarta)...

Bineînțeles că limbajul se învață în câteva ore la nivel fundamental, și în câteva săptămâni idiomatic.

Exemplu: o firmă avea o grămadă de cod js și deseori apăreau buguri din neatenție. Am determinat că multe dintre acele greșeli ar fi fost prevenite cu un limbaj mai strict.

M-am pus pe treabă, am început să rescriu o componentă care se schimba des în typescript. Nu știam o boabă de typescript.

După o săptămână aveam ceva funcțional, dar codul scris în ultimele 2 zile era idiomatic, pe când codul din celeilalte zile nu prea.

M-am pus pe refactoring.

La 2 săptămâni după ce am luat decizia să mutăm frontendul pe ts, aveam o componentă funcțională.

Am mai tras un coleg în proiect, i-am arătat ce și cum e idiomatic în ts, și a înțeles din prima.

Dacă mie mi-a luat 2 săptămâni să învăț ts idiomatic, lui i-a luat 2 zile. Și apoi am rescris tot frontendul în ts în câteva luni.


E doar un exemplu, am multe alte exemple cu alte limbaje.

Doar pentru că tu nu îți poți imagina cum ai putea avea această capacitate, nu înseamnă că nu există oameni care nu o au.

Firma a plătit fericită și toată lumea a fost mulțumită.

După ce ai trecut prin astfel de experiențe cu 5-10-15 limbaje, când știi limbaje formale, un nou limbaj e fix pix. O lectură de 5 minute pe Wikipedia îți face deja o idee clară despre ce poate limbajul: are generics, are funcții variadice, curly syntax, șamd, și gata, te pui pe treabă.

Experimente de acest gen am făcut și cu elev de clasa a 11-a. Știa C++, știa PHP, și a făcut ceva util în Python într-o săptămână.

Business as usual pentru programatorii competenți, SF pentru alții.

#31
BraviaAmpero

BraviaAmpero

    Member

  • Grup: Members
  • Posts: 923
  • Înscris: 03.11.2018

View PostTruthHurts, on 14 februarie 2019 - 22:40, said:

"python se invata intr-o ora" te exclude de la a avea pareri valabile in legatura cu unde s-ar afla si cum ar arata "suprafata"

Tu crezi ca e cum ai procedat la matematica sau fizica...  Nu, programarea nu se toceste, se invata logic si practic folosind un stack tehnologic(limbaj + librarii/frameworkuri/diverse alte tehnologii) si anumite cunostinte specifice domeniului (oop, ooad, design patterns, algoritmi, structuri de date, samd).

Tot aud niste diletantisme.

"inveti doar limbajul" - nu exista cand vorbim de limbaje general purpose de larga raspandire. Nu e ca si cum inveti sintaxa, cuvintele cheie si vreo doua reguli si gata, "ai invatat limbajul". Nu scrii nici macar un "hello world" cu alea. Cand vorbim de astfel de limbaje, mereu exista si o "librarie standard" sau ceva echivalent. Daca spui "stiu java" ca un minim absolut se intelege ca stii Java SE adica specificatia limbajului + stapanirea la un nivel decent al celor mai utilizate api-uri din Java SE + cunostinte de OOP si ceva design patterns. Idem cu Python. Nu stii "python", stii si chestia asta la un nivel decent, respectiv stilul python de a crea programe(nu are suport full oop, e o amestecatura multiparadigma)

"nu conteaza limbajul" - alta aberatie de zile mari! fix de limbaj depind o multime de lucruri, de la concepte de paradigma (functional/procedural/oop), la chestiuni punctuale precum multithreading, la frameworkuri disponibile, bune practici ... si multe altele(care ghici ce? iau mult timp de stapanit)! Am putea zicem maxim ca unele se aseamana si poti face tranzitia cu ceva efort gen de la java la c#.net. Povestea aia ca "un programator adevarat se adapteaza la orice limbaj in cateva zile/saptamani/luni" e o aberatie emisa doar de cei care nu au habar ce-i aia dezvoltare reala de software, intr-un mediu profesionist... poate doar sa freci duda cu trei lulele trei surcele in timpul liber (sau in mediul academic, acolo se poarta)...
Aplicand OOP  asupra structurii unui  limbaj de programare rezulta ca un limbaj de programare reprezinta un set de reguli cu ajutorul carora se poate implementa un algorithm.
si atunci daca am un algorithm care trebuie redactat in diferite limbaje de programare atunci la nivel de project management a unui algorithm voi avea:

inteface Algorithm {...}
public abstract class Limbaj1()  implements Algorithm {....}
public abstract class Limbaj2() implements Algorithm {....}

Aceasta este tendinta in viitor  si la noi, in corporatii.Cautam ingineri proiectanti de software sau informaticieni pe care sa-i transformam in ingineri proiectanti de software.
Adica sa fie capabil la inceput,  sa redacteze acelasi algoritm in diferite limbaje de programare sau limbaje de scripting, unele la prima vedere la acealasi salariu.

Astfel de specialisti se numesc programatori-poligloti, a caror experienta si maturitate in meserie au ajuns la un asemenea nivel incat pot  sa implementeze algoritmul respectiv
in orice limbaj de programare, chiar si necunosut la prima vedere.

Ba iti mai zic o chestie: se cauta acum si programatori care pot face repede conversia unui algorithm redactat din  paradigma OOP in paradigma de seturi(SQL fara cursoare) sau
in alta paradigma functionala de exemplu.

In echipa mea toti  suntem programatori poligloti.

Edited by BraviaAmpero, 15 February 2019 - 04:00.


#32
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009

View PostTruthHurts, on 14 februarie 2019 - 22:40, said:

"nu conteaza limbajul" - alta aberatie de zile mari! fix de limbaj depind o multime de lucruri, de la concepte de paradigma (functional/procedural/oop), la chestiuni punctuale precum multithreading, la frameworkuri disponibile, bune practici ...
Adevarul este ca daca ai experienta intr-un limbaj iti este foarte usor sa inveti un limbaj nou.

#33
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Uite asa se invata: https://ocw.mit.edu/...mputer-science/ Si desi daca te straduiesti, o sa vezi si ceva limbaje particulare pe acolo (cum ar fi asta: https://ocw.mit.edu/...nuary-iap-2010/ ), de fapt scopul poate fi altul decat invatatul limbajului in sine ("The remaining lectures will focus on more advanced concepts, such as dynamic memory allocation, concurrency and synchronization, UNIX signals and process control, library development and usage."). Si bineinteles ca un individ care invata o meserie, va trebui cumva sa invete si despre sculele/instrumentele folosite in acea meserie... sa-ti imaginezi ca ajunge, e ca si cum ai crede ca ajunge sa stii bine pensula (eventual si 'tehnologiile', aka despre panze, culori, etc) si o sa poti sa te dai Leonado da Vinci. Asa ajungi maxim zugrav.

E instructiv de selectat 'graduate' in link-ul de mai sus...

Edited by parabellum, 15 February 2019 - 10:53.


#34
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009
Este posibil sa fii foarte bun la mai multe limbaje ?
Cand lucrezi undeva, folosesti o tehologie pe care o intelegi foarte bine, restul depinde de inteligenta si creativitate. Dar daca ai experienta pe un limbaj si stii sa faci ceea ce ti se cere pe acel limbaj iti este foarte usor sa inveti un limbaj nou.

#35
TruthHurts

TruthHurts

    Senior Member

  • Grup: Senior Members
  • Posts: 2,155
  • Înscris: 06.10.2018

View PostPlatonX, on 15 februarie 2019 - 08:13, said:

Adevarul este ca daca ai experienta intr-un limbaj iti este foarte usor sa inveti un limbaj nou.
In ce limbaj ai tu experienta?

#36
PlatonX

PlatonX

    Senior Member

  • Grup: Senior Members
  • Posts: 5,741
  • Înscris: 13.09.2009

View PostTruthHurts, on 15 februarie 2019 - 13:40, said:

In ce limbaj ai tu experienta?
----- In PHP -----

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate