Jaký vybrat jazyk?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod borekz 18. 2. 2016 12:26

V zadání chybí podstatná informace, na jakém systému to má jít spustit. Java jde na Windows, Linux, OSX. Delphi do jisté míry také. C++ by potřebovalo framework jako WxWidgets nebo Qt, což je obojí pracnější než widlové Visual Studio. Hlavní problém Delphi je exotický Pascal, jinak bych to něj šel.

Hlavně ta grafická část bude mazec. Jak jsem pochopil, "graf" má obsahovat editovatelné geometrické objekty a ještě editovatelný text. To neumím udělat ani v Javě (awt,swing) a ani v Delphi. V C++ ve Windows bych to uměl jedině low-level (v GDI a po zaškolení i v Direct2D). Low levelem mám na mysli odchycení myši a klávesnice a zaměření grafických a textových objektů v okně podle polohy myši. Tohle už je v podstatě CAD. Možná na to je nějaká knihovna, možná je i něco v Qt.
borekz
Junior

Odeslat příspěvekod powlcz 18. 2. 2016 12:37

ale prd, dokonce si to dokazu jednoduse predstavit klidne i v javascriptu
Chronický Ujížděč na nevhodnostech
powlcz
Junior

Odeslat příspěvekod borekz 18. 2. 2016 14:25

V JavaScriptu je to samozřejmě jednodušší. Interaktivní geometrie se udělá v SVG a textová poznámka bude input s absolutní pozicí nebo estetičtěji div, který se po kliknutí přepne do "design" režimu.
borekz
Junior

Odeslat příspěvekod worrapS 18. 2. 2016 15:41

Editace grafu v Javě např https://github.com/rafalrusin/javafx
Pracovat s počítači je docela otrava. Vůbec, pracovat je otrava. Možná to nakonec s těmi počítači nebude až tak zlé.
worrapS
Junior
Uživatelský avatar

Odeslat příspěvekod H4CK1 22. 2. 2016 20:58

Editovatelné geometrické tvary nejsou potřeba. pouze aby je to zvládlo vykreslit podle souřadnic v txt souborech. Je akorát potřeba k nějakému seskupení např. obélníků přidat nějakou poznámku.
Co jsem zatím hledal, tak nejlíp se asi jeví JavaFX. S oop a javou jsem se ještě moc nesetkal. Javu bych se chtěl stejně do budoucna naučit, tak to s ní asi zkusím udělat. Z programovacích jazyků s gui bych uměl asi akorát to Delphi.
Běžet by to mělo primárně na Windows.
Desktop: i5 2400, GTX960, 8GB RAM, SSD Intel 330
Notebook: Acer Nitro 5, i5 7300HQ, GTX1050Ti
Smartphone: Samsung Galaxy A5 2016
H4CK1
Junior

Odeslat příspěvekod worrapS 22. 2. 2016 23:03

Tu Javu ti nijak zvlášť netlačím. Jen jsem musel reagovat na ty kraviny, které tady dával k dobru JanFiala. Já jsem totiž, na rozdíl od něj, v tom jazyce opravdu něco dělal :)
Pracovat s počítači je docela otrava. Vůbec, pracovat je otrava. Možná to nakonec s těmi počítači nebude až tak zlé.
worrapS
Junior
Uživatelský avatar

Odeslat příspěvekod gandor 24. 2. 2016 10:29

A tym padom mas jazykovu slepotu. Je to uplne normalna standardna vec ktorou si vecsina programatorov prejde. Len niektory z nich si nikdy neuvedomia, ze danu slepotu maju...

Dam priklad - kedze programujem dlhodobo v PHP, tak je pre mna lahsie vytvorit PHP skript pre nacitanie medzerou oddelenych hodnot a spravenia ich suctu ako v jazyku C - v ktorom to ide napriek vsetkemu objektivne lahsie. Ale 100% sa to da aj v PHP ktore na to nikdy nebolo urcene...

Tak tak isto je na tom tvoja java. Ale nepredpokladam, ze si to vezmes k srdcu podla tvojich reakcii na niekoho, kto ma realne odprogramovane trochu viac ako ty...
gandor
Mírně pokročilý

Odeslat příspěvekod borekz 28. 2. 2016 08:37

Já dělám posledních 10 let nejvíc v Javě a přesto mám "slepotu" ve prospěch C++.
S tím součtem jsi mě přivedl ke srovnání nedostatků "out-of-box" frameworků tří jazyků pro sečtení čísel na std vstupu:

Java:
- má šikovný DataInput, ale jen pro binární čísla, navíc v BigEndian
- Tokenizer neimplementuje rozhraní Iterator, takže nelze for (token : tokenizer) sum += parseInt(token)
while (dataInput.available()) sum += dataInput.readInt(); //toto nepůjde pro textový vstup
while (tokenizer.hasMoreTokens()) sum += Integer.parseInt(tokenizer.nextToken());

C: - asi jen sscanf ; fakt jste myslel C bez ++ ?
while (!feof(stdin)) { int a; sscanf("%d", a); sum += a; }

C++:
- má streamy, které stejně jako sscanf umí jen zápis do proměnné, chybí metoda getInt (C++ streamy toho neumí víc)
while (!cin.eof()) { int a; cin >> a; sum += a; }
while (!cin.eof()) sum += cin.getInt(); // tohle stream neumí
borekz
Junior

Odeslat příspěvekod PiranhaGreg 28. 2. 2016 16:48

worrapS píše:
JanFiala píše:Pokud chceš dělat GUI, pak se Javě vyhni.
Jestli máš základy C, na VC případně C#.

Hovadina. Cčko nemá s C# nic společného...

Wikipedie píše:...Microsoft založil C# na jazycích C++ a Java (a je tedy nepřímým potomkem jazyka C, ze kterého čerpá syntaxi).

Nepřipadají ti jazykové konstrukce jako cyklus while a for, enum, funkce, podmínky, switche, atd. z C ani trochu podobné těm v C#? :-)

Já myslím že programátor z Cčka nebude mít problém na C# přejít. Jasně, na začátku bude všechno cpát do jedný třídy a některý pokročilý výhody C# ho budou nějakou dobu míjet, ale pořád bude umět téměř hned napsat aspoň základní programy.

Naopak když jsem se učil třeba Haskell, v Mathematice nebo v Assembleru, ani po týdnu jsem nezvládal napsat jinak dost primitivní věci...
PiranhaGreg
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod powlcz 29. 2. 2016 11:07

O Haskellu jsem došel v nějakém tutoriálu až k "Haskell je líný". Tím pro mne zájem o nové věci skončil.
Chronický Ujížděč na nevhodnostech
powlcz
Junior

Odeslat příspěvekod worrapS 29. 2. 2016 18:52

Víš piraňo, kdyby sis pamatoval pamatoval spory mezi Sunem a Microsoftem, tak by ses možná nesnažil oslňovat povrchními informacemi z Wikipedie ;) C syntax je převzat mnoha jazyky s různými paradigmaty. To samo o sobě neznamená, že jsou si podobné. Velmi se pak pleteš v tom, že programátoři zvyklí na imperativní jazyky intuitivně zvládnou OOP. Na toto téma už toho ale bylo napsáno mnoho...
Pracovat s počítači je docela otrava. Vůbec, pracovat je otrava. Možná to nakonec s těmi počítači nebude až tak zlé.
worrapS
Junior
Uživatelský avatar

Předchozí stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků