általános programozáshoz tool ajánlása

Programozásban nem vagyok kezdő, de eddig kizárólag Linux alatt programoztam (vim rulez!). Sajnos az elmúlt pár évben elég kevés komoly programozási feladatban vettem részt.
Munkahelyemen windózert kell használjak. Kedvet kaptam a dotNet megismeréséhez, a Python (3-at legfőképpen) meg szinte kötelező manapság ismerni. Java és C tudásomat frissítenem kell és kiegészíteni C++ -al.

Kérnék ajánlásokat hogy milyen FOSS tool-ban érdemes programozni? Jó lenne ha keresztplatformos lenne és valamilyen verziókezelő rendszert (SVN, git) támogatna.
Eddig szóba kerültek: Eclipse, Codelite és pspad

Hozzászólások

Én Eclipse-párti vagyok. Különösen, hogy alkamas mikrokontrollerek programozására is. :)
A Java, C és C++ teljesen rendben van vele.

vim rajongó vagyok. :) Régen C64-en programoztam, demoztam / ott tanultam meg az assembly-t.

Manapság beágyazott eszközön kellett folyamatirányítási feladatot megoldanom. Nagyrészt C-ből lett fordítva, de IRQ és egyéb kritikus részek ASM lettek.

Valamint Evolution levelezőm egyfolytában lehalt már az indulásnál, debug után eljutottam egy SSE3 ASM kódhoz. Abba kellett volna belenéznem, de aztán egy huszárvágással megoldottam hogy ne kelljen. Ettől még érdekel az x86 ASM. Lehet itt is próbálkozok demo-val? :)

Szerintem is Eclipse, sok sikert a tanuláshoz!

a Python (3-at legfőképpen) meg szinte kötelező manapság ismerni

valóban? ez nekem új...

"kevésbé olvasható"

neked.

attól még, hogy nem tudsz úszni, nem a víz a hülye. a perl-t szeretni ilyen hálátlan dolog, mert csak akkor tudod kihasználni az előnyeit, ha feléred ésszel. eddig egyetlen perl gurut ismertem személyesen, és meg kell hogy mondjam, nem sok hozzá hasonlóan értelmes kockához volt szerencsém azóta sem.

ebben azért lehet valami.

Régóta Perl-ben programozhatsz, nekem csak egyes feladataim voltak benne. Ment, nem okozott nagy gondot, de számomra a Python strukturáltabb, azaz olvashatóbb.

"eddig egyetlen perl gurut ismertem személyesen, és meg kell hogy mondjam, nem sok hozzá hasonlóan értelmes kockához volt szerencsém azóta sem."
Őszintén, szerinted csak Perl guruk közt lehet annyira értelmes kockát találni? Biztos megvannak a hasonló tudású emberek Scala-ban is.

számomra a perl lényegre törőbb, ezért könnyen érthetőbb, ha már mindenképp értelmezett nyelv.

de innentől ez már hitvitába fog torkollni, mert nem érted, hogy miért jobb, ha mondjuk feleannyi karakterrel tudod kifejezni hajszálpontosan ugyanazt, téged biztos karakterszám alapján fizetnek.

A Perl filozófiája egyszerű, amikor az a kérdés, hogy könnyű legyen megtanulni vagy, hogy könnyű legyen dolgozni vele, a Perlnek mindég a második fontosabb (mert megtanulni csak egyszer kell, dolgozni vele pedig többször), ezért nehéz megtanulni, de ha megtanultad, akkor sem a Python sem akármi más nem képes megközelíteni sem.

Nem hiába a teve a jelképe... picit olyan is, mint a teve, csúnya is, "büdös" is, néha a pofánkba köp, de a munkát MINDÉG elvégzi... még pedig olyan körülmények között is, amelyek között semmi más nem lenne képes... és általában a tevét csak azok szeretik, akiknek az életük függ tőle ;)

Ha már szóba került a

say

, érdemes megemlíteni, hogy a Perl5-ben is használható, ha engedélyezed ezt a feature-t. De akkor már érdemes inkább az 5.010 feature bundle-t egyben engedélyezni. Ma már úgyis legalább 5.10-es verzió van mindenhol, és a


use 5.010;

pragmaval egyszerre előírhatjuk a minimum Perl verziót, és egyben engedélyezhetjük a

say

,

state

,

given-when

nyelvi cukorkákat. :)

Doksi: Feature pragma

Ezek egyike sem programnyelv. Fontosak, alapkövetelmények, de max bash-ban tudsz programozni annak korlátaival. Összetett script-ekre nem biztos hogy a *sh megfelelő választás. Perl / Python / egyéb sok modullal rendelkezik és elérhető több OS-re is (windows-ra is akár). Hordozható is lesz a benne elkészített script.

Az informatikának elég sok ága van, szerintem nincs olyan technológia, amiről kijelenthető, hogy minden informatikusnak kötelező lenne ismernie. Pl. annak aki rendszer üzemeltetéssel foglalkozik nem kell ismernie a Javascript-et, viszont mondjuk nem árt, ha a bash-ban otthon van. De pl. egy webfejlesztőnél ez pont fordítva van.
Én pl. nagyon sok mindent csináltam már viszont pythonban konkrétan soha nem dolgoztam még, és nem is hiányzik.

a QtCreatort ajanlom figyelmedbe, bar nyilvan Qt-re van kihegyezve, nem tudom hogy 'sima' C++ -ban mennyire segit
van benne vim-mod is ;)

A QtCreator nagyon jó, de érzek némi perverzitást abban, ha valaki nem Qt-s fejlesztéshez használja.
Természetesen lehet benne nem Qt-s projekteket indítani, ráadásul multiplatform, ahogy a Qt-is. Aktívan fejlesztik is, legalábbis eddig.
Szerintem (és a perverzitás gyanúját elkerülendő :) érdemes megismerkedni a Qt-vel. A C++ standard könyvtáránál sokszor elgondolkodtam azon, hogy ez, vagy az az objektumot miért volt jó úgy megcsinálni, ahogyan megcsinálták. A Qt legtöbb objektuma viszont olyan, amilyennek szerintem is lennie kell.
Persze nem szeretnék hitvitát indítani, akinek nem jön be, az használjon mást. Ahhoz viszont, hogy kiderüljön bejön-e vagy sem, valamilyen szinten meg kell vele ismerkedni. És persze mindenki abban hisz amiben akar, így az ismerkedés sem kötelező.

Asszem anno már SUN-on próbáltam fordítani, mert kellett valamihez. Sikerült, az app működött is, csak rusnya volt nagyon. :)
Aztán Linux-on sem volt túl szép a Qt widget, Enlightenment párti lettem. Innentől kimaradt minden ami Qt.

Lényeg, még C++-ban sem vagyok valaki, Qt meg egy (pár) lépéssel több. Ergo nem vagyok biztos abban, be kellene vállalnom.

ha a design a problema, azon nagyon egyszeruen lehet segiteni, akar a sajat, mar leforditott programodat is indithatod a -style kapcsolo hasznalataval mas designnal ;)
a Qt-hez meg nem kell profi C++ -osnak lenni (bar segit), eleve nagyon sok mindent (foleg az STL csomagot) 'felulir' sokkal jobb osztalyokkal

magaban a nyelvtanulasban nem hiszem hogy barmennyire is zavarna, csak nem art ha tisztaban vagy azzal hogy mi az, ami Qt es mi az ami ANSI C++
pl. foreach van Qt-ban, de nem resze a standard C++ nyelvnek
bar ilyenbol eleg keves van, 99%-ban Qt-s osztalyokat fogsz hasznalni (amik meg ugye Q betuvel kezdodnek :D), szoval nem gond

annyibol esetleg lehet hatranyos, hogy igy nyilvan nem fogod megtanulni az STL-es osztalyokat/containereket, helyettuk a Qt-s verziot fogod hasznalni (QList, QMap, QString, stb), amik egyebkent fenyevekkel jobbak. csak mikor valami miatt Qt-mentes programot kell irnod, kurvaanyazhatsz hogy milyen szar az STL, es milyen jo volt a Qt :D

bar azert egy alapszintu, altalanos C++ tudas mindenkepp jo lenne Qt elott, de ez nem kell hogy tul eros legyen (attol hogy nem tudsz template-es osztalyokat irni, meg nyugodtan Qt-zhetsz pl.)

Fú, ezzel tudod mekkora hitvitát szítottál fel? :)

Egyébként nekem eddig mindig a legjobban az adott nyelvhez készült IDE jött be. .NET-hez, Windowsos C/C++-hoz VS, Java/PHP-re Eclipse, anno Delphi-hez Delphi és/vagy BDS.

Pythonnal hál'istennek nem kellett komolyabban foglalkoznom, ami emlékem volt eddig, azt is szerencsére kezdem elfeledni.

----------------
Lvl86 Troll

PHP-hez nem, de amit Java alatt összeművelt nekem, elvette a kedvem, hogy valaha is ki akarjam próbálni azt a szemétbányát.

PDT-nek is vannak elcseszett verziói (pl. a 2.0-ában annyira jól meginnováltak pár dolgot, hogy használhatatlanul lassú volt, pedig az Europa-nál, mikor gondoltam, újra körbenézek, mi a helyzet PHP IDE téren, nagyon meglepődtem, hogy egy Java-s program lehet gyors és használható is :). Mostani verziók aránylag jók, persze, messze elmarad a Java-s tooloktól, látszik, hogy még mindig az a fő csapásirány.

----------------
Lvl86 Troll

Személy szerint teljesen jól elvagyok a jEdit nevű szerkesztővel.
Kicsi, egyszerű, mindenen fut és a plugineknek hála okos is.
Nem egy kategória az Eclipse vagy Netbeans rendszerekkel, de nem is volt céljuk sose.

+1

Tobbszaz megas forraskonyvtarakban dolgoztam vim-mel. Van benne code competition, akar live linting (pl. Jslint modul live huzza ala pirosan a hibas sorokat), merge toolnak teljesen jo a vimdiff, es ha nagyon kell, projektnezetet is kapok a mindenfele treeexplorer pluginekkel.

Neha vannak, foleg munkahelyvaltasnal egy-ket hetes probalkozasaim eclipse-szel, netbeans-szel vagy epp aptana-val, majd mindig megallapitom, hogy a dinamikus nyelvtamogatasuk nulla, ellenben makrot marha nehez bennuk irni (a vimhez kepest), es visszavaltok ugyanugy.

Scite

Mindenféle eszköz beépíthető, könnyű, grafikus, platformfüggetlen.
Az útvonalba helyezett fordítókat automatikusan felismeri.

Scite:
http://www.scintilla.org/SciTE.html

Felscriptelt változat C, C++, C#, Java nyelvekhez winre:
http://szit.hu/wiki/doku.php?id=swscite

Utóbbiban az Astyle beépítve, kódformázó (az eredeti nem tartalmazza).

Éveken keresztül próbálgattam a vim, emacs, Eclipse, Notepad++,
CodeBlocks, Dev-C++, Anjuta, KDevelop, CodeLite, DrJava, JCraetor,
Geany, stb. jobban és kevésbé integrált eszközöket.

Olyat szerettem volna amelyik grafikus felületű, kicsi az
erőforrásigénye (egy villanás alatt induljon például), ha
kell telepítés nélkül is működjön, sok programozási nyelvet
támogasson, ha útvonalban van a fordító, akkor tudja azt használni
automatikusan, de ha át szeretném írni a fordítóparancsot, akkor
az ne legyen probléma, és ne legyen körülményes. Kódformázót ha nem
tartalmaz, lehessen beleépíteni, illetve bármit tudjak beleépíteni,
bármilyen billentyűkombinációhoz, scriptelhessem. Tudjak nyelvenként saját helpet
beépíteni. Legyen Linux és Win rendszerekre egyaránt, ha nem magyar lehessen
magyarítani, szintaktikai kiemelés, Makefile billentyűkombinációra
alap legyen. Lehessen könnyen kommentezni, keresni. Lehessen beépíteni
kódkiegészítést adott nyelvekhez. A kimenet legyen az IDE része, de ha
szeretném lehessen kitenni Terminálba, vagy Win parancsablakba.
Nagyvonalakban ...

Egyszóval tudjon sokat, de legyen teljesen átszabható.

Mindezt megtaláltam a Sciteban. Ezt használom, C, Java, C#
mostanában, de bármi amihez adódik. Újabban már Jegyzettömb
helyett is, használom néha.

---
http://szit.hu