( wachag | 2014. 12. 24., sze – 10:21 )

Mivel számomra úgy tűnik, egészen jól eljutott oda a tudomány, hogy a különféle nyelvek jól együtt tudnak működni, egyre kevésbé van "kedvenc" nyelvem. Akár fordított, akár szkript.

Minden feladatra a számomra megfelelőt választom:
- GUI összerakására Java vagy C# vagy Python (bár az awt rettenet, C# meg még kevésbé hordozható). A platform adja a választást.
- Gyors lefutást igénylő/hardverközeli dolgokra C vagy C++. Itt a felhasznált programkönyvtárak adják a választást.
- Matematikai dolgokra Octave/Matlab vagy Python (scipy/numpy). Itt az adja a választást, hogy kell-e egyéb funkciókat támogatni. Dolgok kipróbálására, tesztelésre Matlab vagy Octave.
- Szövegfeldolgozás: Python vagy Perl. Itt a nyelvi ismereteim alapján inkább Python.
- Webes fejlesztés (ezt kerülöm, nem szeretem, egyszer-kétszer kontárkodtam bele :-)): Python/Java/C#. Attól függően, mire kell. Egyszerű dolgokra (nálam csak az van ebből) Python+django.

Ha egy program többféle funkcionalitást lát el, akkor nálam több nyelven íródik. Egy aktuális példa: szimuláció+eredmény kiértékelés+GUI. A szimulációnak nagyon gyorsnak kell lennie: C vagy C++. A felhasznált keretrendszer C-ben íródott, tehát C. Az eredmények kiértékelése nem bonyolult, alap mátrixműveletek, de csak kis mátrixokon, tehát Matlab overkill lenne: Python+Numpy,Scipy. GUI-hoz pedig akkor már szintén Python. És mivel elég sok "speciális" megjelenítés kell: gráfok, grafikonok, így PyQt4.

Persze van egy nagy ára a dolognak: egyik nyelvben sem vagyok profi. Mindet csak egy bizonyos mélységéig ismerem. Viszont nagyon gyorsan tudok fejleszteni, egész jól érthető kódot.

GUI-nál nem kell figyelnem a C++ hülyeségeire (ki kit szabadít fel, szálak, template, kivétel), koncentrálhatok a funkcionalitásra.

Szimulációnál nem kell wrappereket írnom a C-s libek köré, nem kell figyelnem a Python többszálú hülyeségeire, nem kell annyira figyelnem a teljesítményre.

Matematikai műveleteknél nem kell figyelnem, hogy felszabadul-e egy mátrix által foglalt terület, vagy sem.

És mivel egyik nyelvet sem használom nagyon bonyolult trükközésekre ("nem erőszakolom meg", pl. nem akarok C-ben OOP-t), még a kód is egész jól olvasható.