Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Centrale termice compacte

Portofoliu incepator pe Bursa New...

Probabil inselatorie pe OLX

Istoric Google
 Copil cu temperament sangvinic

ADA TEL SERVICES

inlocuire bara fata clio 4

Ce avem de platit in 2024 la cump...
 La mulți ani @Arader!

La mulți ani @gabiroa!

La mulți ani @gerbil!

La mulți ani @Therockstar!
 Suspect Frauda Informatica

Scari interioare

Parcare gratis Romexpo

Limbaj de programare RUST
 

Cea mai proasta carte java - java de la 0 la expert

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

#55
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,651
  • Înscris: 30.07.2003

View Postm3th0dman, on 21 decembrie 2012 - 18:49, said:

Şi de ce ai avea nevoie de aşa ceva în liceu?
A dat un raspuns... de programator FoxPro unde facea o cerere si astepta raspunsul, halal performanta in cod:

RomeoM said:

- Liceul insa te pregateste pt a-ti gasi un job.
- Normal ar fi sa faci OOP si in clasa a XI a si a XII a si sa se restranga listele, arborii. Daca ai clase lista si in java si in C# si in C++ de ce sa mai pierzi timpul reinventand roata ?
- Fara programare OOP, nu ai productivitate; prin OOP poti sa folosesti clasle scrise de altii. E mai util zic eu, sa contruiesti aplicatii utilizand biblioteci facute de altii, decat sa te ocupi si sa construiesti si sa optimizezi arbori, grafuri si antichitati - care pot fi puse in biblioteci pana la urma.

Edited by neagu_laurentiu, 21 December 2012 - 19:19.


#56
xyv123

xyv123

    Member

  • Grup: Members
  • Posts: 439
  • Înscris: 01.03.2012
"Cand a fost lansata cu surle si trambite programarea oop, unul din argumentele des vehiculate a fost urmatorul: nu puteti construi biblioteci scrise eficient in limbaje C, pascal mai mari de 6000 de linii de cod, deoarece este foarte costisitoare modificarea / intretinerea lor."
Exista o gramada de biblioteci C mai mari de 6000 de linii care sunt folosite intensiv in proiecte majore. Si sunt suficient de eficiente si mentenabile.
Inca o chestie: poti folosi paradigma obiect orientata si in C (vezi GTK+ si GObject, ca exemplu ... dar sunt multe altele. Pana si partea de virtual file system din kernelul de linux e implementata conform paradigmei obiect orientate, in C). BTW, de exemplu GTK+ are peste 500.000 de linii, limita aia de 6000 de linii e o gluma proasta.

Edited by xyv123, 21 December 2012 - 19:19.


#57
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,651
  • Înscris: 30.07.2003

View Postxyv123, on 21 decembrie 2012 - 19:19, said:

limita aia de 6000 de linii e o gluma proasta.
Ce sa mai zic de WinAPI...

#58
xyv123

xyv123

    Member

  • Grup: Members
  • Posts: 439
  • Înscris: 01.03.2012
Parerea mea despre ceea ce se studiaza si ceea ce ar trebui sa se studieze in liceu:
1. faptul ca se studiaza structuri de date si algoritmi e un lucru bun, ca intentie
2. din pacate, desi intentia e buna, e pusa in practica destul de prost:
- materia e prea stufoasa si se preda intr-un stil "heirupistic"
- manualele au, de obicei, o calitate foarte slaba. E indeajuns sa te uiti peste codul dintr-un manual, e aproape imposibil sa nu gasesti greseli flagrante.
- chipurile se preda C++ ... dar sa fim seriosi, ala nu e C++. E o mizerie, la felul in care e predat.
- de fapt, nici n-ar trebui sa se incerce predarea limbajului C++ in liceu. E prea complex si elevii vor fi bombardati pe mai multe fronturi cu informatii de o calitate indoielnica: trebuie sa invete un limbaj de programare destul de complex, sa invete si algoritmica. Toate fiind explicate intr-un mod destul de alambicat, greoi, ocazional chiar gresit.
Nu numai ca trebuie sa prinda esenta algoritmului, trebuie sa-l si "dezgroape" din maldare de cod scris cu picioarele, parca in mod special scris asa pentru a obfusca ultima urma de logica
- codul, la felul in care e practicat in manuale si de catre majoritatea profesorilor de liceu e un dezastru. Nu numai ca elevul nu invata cum ar trebui sa fie scris codul, dar si capata automatisme gresite, care incarca norme elementare din practica programarii, si de care ei scapa greu in facultate.
- cred ca o idee mai buna ar fi sa se studieze Python ca prim limbaj de programare. E mult mai simplu sa prezinti un algoritm folosind un subset din Python, iar elevii prind mai repede "ideea" din spatele algoritmului, nemaifiind nevoie sa o dezgroape din maldare de cod prost.

Se vede clar efectul acestui stil de predare: elevi care studiaza grafuri si incearca sa rezolve probleme cu algoritmul lui Dijkstra, dar ei nu inteleg bine cum functioneaza o bucla for si cum se scrie o functie.
Elevi care vin pe forumuri si posteaza cod neformatat, cu variabile denumite cu picioarele astfel incat numele sa nu aiba nici o legatura cu scopul lor, pentru ca asa au fost invatati sa scrie cod.
Elevi care nu stiu sa faca debugging asa ca intreaba pe altii de ce codul pe care ei insisi l-au scris nu functioneaza, etc
Toate sunt semnele unui stil de predare in care conteaza doar cantitatea: sa popam informatie in elevi, nu conteaza ce inteleg,

Edited by xyv123, 21 December 2012 - 19:59.


#59
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,651
  • Înscris: 30.07.2003

View Postxyv123, on 21 decembrie 2012 - 19:44, said:

elevi care studiaza grafuri si incearca sa rezolve probleme cu algoritmul lui Dijkstra
Programa e mult prea incarcata in liceu. Toata programa de info de azi din liceu eu am facut-o in facultate (pe atunci nu era mate-info ci mate-fizica si altele). Daca s-ar preda serios cat scrie in programa asta ( http://www.edu.ro/in...lum/c556 588 / ) pai 1-2 ani din facultate nu ar mai fi utili !

#60
MrReason

MrReason

    Senior Member

  • Grup: Senior Members
  • Posts: 9,266
  • Înscris: 08.10.2010

View Postneagu_laurentiu, on 21 decembrie 2012 - 18:24, said:

Ia posteaza lista joburilor calificate unde se cere doar diploma de bac (de pe un site de specialitate).
Site-urile de job-uri nu-ti ofera posibilitatea de a cauta dupa bac sau lipsa lui.

Dar exemple sunt nenumarate si ne pierdem vremea, De exemplu sofer de tir e un job calificat si nu ai nevoie nici de liceu, nu de bac.

View Postm3th0dman, on 21 decembrie 2012 - 18:49, said:

Şi vrei să spui că un proaspăt student în domeniu care n-a făcut nimic informatică în liceu porneşte la egal cu unul care a făcut informatică?
Daca nu invata pe cont propriu, cam da. Iar daca exista o diferenta, e foarte mica.

View Postm3th0dman, on 21 decembrie 2012 - 18:49, said:

Sunt multe firme care dau algoritmică la interviu; de exemplu implementează un arbore binar de căutare în Java cu generics ţine tot de algoritmică.
Eu nu am zis ca nu sunt sau ca nu se dau la interviuri. Discutia era de fapt alta. Ce se invata la liceu si ce se invata mai intai. Unii sunt de parere ca algoritmii ar trebui bagati pe gat din start iar oop-ul lasat pe mai incolo. Ori nu asa se procedeaza in general. Algoritmii se invata dupa ce se stapanesc bine diverse notiuni de baza. In cartile bune folosite in universitatile americane, chestiile astea se gasesc cel mai devreme pe la mijloc iar adesea pe la sfarsit (in carti de ~1000 de pag.)

View Postm3th0dman, on 21 decembrie 2012 - 18:49, said:

Recent au apărut Graph Databases, unde poţi folosi algoritmi din grafuri pe structuri de date (Dijkstra, A*) direct din DB; dacă nu ai habar ce fac algoritmii respectivi, nu poţi folosi APIul bazei de date respective.
Folosesc ăia pe embedded framework-uri la greu, ce să zic; btw, C e cel mai folosit limbaj din lume; recent a depăşit Java conform TIOBE.
1. pe care le foloseste cine in productie?
2. evident ca se folosesc... cu c chior nu prea ai ce face ... un exemplu de embedded, VxWorks (un RTOS folosit pe o multime de chestii, de la bmw iDrive la electronica de pe avioane airbus sau curiosity rover de pe marte): http://www.cross-com...ksTutorial.aspx de fapt c-ul in sine nici nu are cine stie ce relevanta...

View Postm3th0dman, on 21 decembrie 2012 - 18:49, said:

Dacă liceul te pregăteşte pentru a găsi un job (în programare, că despre asta e vorba) pentru ce mai face lumea facultate?
Daca nici firme ca Adobe sau Oracle (or equivalent experience required) nu cer neaparat facultate pentru anumite pozitii de programatori/care implica programare, ceva e ... bizar.

Si uite asa ajungem la o intrebare si mai interensata: daca nici facultatea nu pregateste lumea pentru job (si e evident ca nu), pentru ce o mai face lumea? Va zic eu: de dragul conventiilor sociale. Ca si cu bac-ul.

Edited by MrReason, 22 December 2012 - 06:23.


#61
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View Postxyv123, on 21 decembrie 2012 - 19:19, said:

Exista o gramada de biblioteci C mai mari de 6000 de linii care sunt folosite intensiv in proiecte majore. Si sunt suficient de eficiente si mentenabile.

1. Daca acele biblioteci "folosie intens in proiecte majore" ar fi avut un echivalent in C++, ce ai fi ales sa folosesti. Pe de alta parte eu am spus ca la INMH erau folosite biblioteci in Fortran - probabil algoritmi matematici, si probabil cu zeci de mii de linii, deci afirmatia nu se alica 100%.
2. Daca ar fi sa dezvoti o "aplicatie windows" in C++, ai alege tehnologia bazata pe functii api de la inceputul anilor 90 (Borland C++ 1.0) sau ai folosi facilitatile oferite de Visual Studio 2010 ?

View Postxyv123, on 21 decembrie 2012 - 19:19, said:

BTW, de exemplu GTK+ are peste 500.000 de linii, limita aia de 6000 de linii e o gluma proasta.

Orice afirmatie trebuie preluata in context, iar eu contextul nu-l mai am de unde si confuziile.
Poate insa le sugerezi celor ce au scris GTK+ sa rescrie tot in Assembler pt ca e tot mai folosit:

http://www.tiobe.com...i/Assembly.html
Nici C-ul nu sta mai rau http://www.tiobe.com...tpci/index.html
dar poate te documentezi si la ce categorie de aplicatii este folosit.

http://www.tiobe.com...tpci/index.html

#62
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007

View PostMrReason, on 22 decembrie 2012 - 06:09, said:

Daca nu invata pe cont propriu, cam da. Iar daca exista o diferenta, e foarte mica.
Adică pentru tine e cam totuna dacă cineva ştie sau nu ce e variabilă, algoritm, array, funcţie etc?

View PostMrReason, on 22 decembrie 2012 - 06:09, said:

Eu nu am zis ca nu sunt sau ca nu se dau la interviuri. Discutia era de fapt alta. Ce se invata la liceu si ce se invata mai intai. Unii sunt de parere ca algoritmii ar trebui bagati pe gat din start iar oop-ul lasat pe mai incolo. Ori nu asa se procedeaza in general. Algoritmii se invata dupa ce se stapanesc bine diverse notiuni de baza. In cartile bune folosite in universitatile americane, chestiile astea se gasesc cel mai devreme pe la mijloc iar adesea pe la sfarsit (in carti de ~1000 de pag.)
Algoritmii de bază se învaţă la început (sortare, arbori, grafuri); după aia se studiază aceştia în alte paradigme (funcţional, logic) şi alte tipuri de algoritmi (grafică, inteligenţă artificială, distribuţi, programare paralelă, hardware ş.a.). E şi normal să nu se înceapă cu OOP deoarece pentru algoritmii fundamentali nu ai nevoie de OOP dar pentru OOP ai nevoie de algoritmi (de exemplu în Java, ca tot e cel mia folosit, trebuie să înţelegi diferenţa dintre un tree map şi un hash map, trebuie să înţelegi de ce şi când trebuie să suprascrii equals şi hashCode ş.a.)

View PostMrReason, on 22 decembrie 2012 - 06:09, said:

1. pe care le foloseste cine in productie?
2. evident ca se folosesc... cu c chior nu prea ai ce face ... un exemplu de embedded, VxWorks (un RTOS folosit pe o multime de chestii, de la bmw iDrive la electronica de pe avioane airbus sau curiosity rover de pe marte): http://www.cross-com...ksTutorial.aspx de fapt c-ul in sine nici nu are cine stie ce relevanta...
1. Adobe sau Cisco şi mulţi alţii. E o tehnologie relativ nouă, de abia acum prinde...
2. Păi şi C# chior cine foloseşte; aşa, fără .NET? Sau Java fără Java EE/Spring?

View PostMrReason, on 22 decembrie 2012 - 06:09, said:

Daca nici firme ca Adobe sau Oracle (or equivalent experience required) nu cer neaparat facultate pentru anumite pozitii de programatori/care implica programare, ceva e ... bizar.

Sunt foarte puţini aceia care sunt capabili, şi nu au facultate; statistic vorbind, e mult mai bine să ai facultate.

View PostMrReason, on 22 decembrie 2012 - 06:09, said:

Si uite asa ajungem la o intrebare si mai interensata: daca nici facultatea nu pregateste lumea pentru job (si e evident ca nu), pentru ce o mai face lumea? Va zic eu: de dragul conventiilor sociale. Ca si cu bac-ul.
De acord; facultatea e în mare parte inutilă; există şi studii ştinţifice pe tema asta (notele din facutlate nu relevă faptul că un programator e bun), studii vechi, chestia asta se ştie de mult. Se face probabil pentru a demonstra că un om e capabil să înveţe...

#63
xyv123

xyv123

    Member

  • Grup: Members
  • Posts: 439
  • Înscris: 01.03.2012

RomeoM said:

1. Daca acele biblioteci "folosie intens in proiecte majore" ar fi avut un echivalent in C++, ce ai fi ales sa folosesti. Pe de alta parte eu am spus ca la INMH erau folosite biblioteci in Fortran - probabil algoritmi matematici, si probabil cu zeci de mii de linii, deci afirmatia nu se alica 100%.
As alege sa folosesc biblioteci cu un API de calitate si bine documentate. Faptul ca sunt scrise in C sau C++ ar conta mai putin, calitatea lor individuala ar fi cea mai importanta.
Sunt situatii cand ai putea prefera chiar ca o biblioteca sa expuna un API C si nu C++. De exemplu, e ceva mai simplu sa o integrezi cu cod scris in alte limbaje.

RomeoM said:

2. Daca ar fi sa dezvoti o "aplicatie windows" in C++, ai alege tehnologia bazata pe functii api de la inceputul anilor 90 (Borland C++ 1.0) sau ai folosi facilitatile oferite de Visual Studio 2010 ?
Dezvoltarea de interfete grafice pentru aplicatii windows nu intra in domeniul meu de interes.
Dar probabil ca as alege wxWidgets sau Qt daca ar fi nevoie sa fac asa ceva.

Edited by xyv123, 23 December 2012 - 19:47.


#64
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,651
  • Înscris: 30.07.2003
Legat de povestea cu aplicatii C++ & Visual Studio nu cel mai reprezentativ exemplu fiindca MS ofera doar MFC iar acesta fara studiul WinAPI & C nu prea merge. Nici COM & Co nu e un fericit model.
In rest C++/CLI sau C++/CX sunt alte mancaruri de peste.

Edited by neagu_laurentiu, 23 December 2012 - 20:10.


#65
RomeoM

RomeoM

    Member

  • Grup: Members
  • Posts: 562
  • Înscris: 02.12.2010

View Postneagu_laurentiu, on 23 decembrie 2012 - 20:09, said:

Nici COM & Co nu e un fericit model.

De acord cu tine, numai ca Visual Studio are 'pile' la Microsoft Windows. Ori daca produci soft de calitate pt Windows, e bune sa nu misti in front si sa folosesti tools-uri windows.

PS: Cand am instalat Java 7, in timpul derularii instalarii, aparea periodic pe ecran un mesaj in care scria: "Se asigura compatibilitate cu serviciile web din netFarmawork 3.5". In conditiie in care M$ a lansat netFrameworks 4.5. Nu sunt fan M$ !

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

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