Java nyelvben a szöveget hogyan lehet formázni?
Sziasztok! Házilag próbálkozok megtanulni a Java nyelvet, az alapok mennek is valamennyire. Most kíváncsi lettem, hogyan kell mondjuk egy félkövér zöld 'alma' szót kiíratni.
Alig értek hozzá, ezért kérem a ti segítségeteket, Köszi! :)
Teljesen mindegy, hogy az ember mit tanul.
A programozás maga "nyelvfüggetlen".
Persze egy objektum orientált és egy funkcionális nyelv elég sokban eltérnek egymástól és kicsit más hozzáállást igényelnek, de ez egy programozónak nem jelenthet akadályt.
Kezdésnek jó a java, vagy a C++, de talán a legjobb lenne a Python, azzal viszonylag hamar lehet szebb eredményeket is elérni.
De ha a kérdező már java-t kezdett tanulni, akkor az is tökéletes kezdésnek.
A kérdéshez pedig: valóban érdemes lenne tudni, hogy most a konzolban akarod változtatni a dolgokat, vagy már egy kész GUI felületen?
Konzol esetén ugyanis az oprendszertől függően lehet speciális módosító karakterekkel ügyeskedni.
"Aki szerint a C kezdőbarát az szerintem életében nem írt benne hello worldnél komolyabb programot."
Mondj egy olyan dolgot a C nyelvben, ami nem kezdőbarát.
Én mondok párat, ami az:
- nincsenek bonyolult adatszerkezetek
- a program szerkezetét a nagyon egyszerű procedurális modell miatt könnyű felfogni
- a vezérlési szerkezetek egyszerűek
- maga a nyelv "kicsi", azaz kevés lehetőség van benne. Maga a nyelv egyszerűbb, mint mondjuk a C++ vagy a Java.
Ami még kezdőbarátabb, az a Python. Ott ugyan a hash táblák, closure-ok, stb. használata minden napos, de tanuláshoz teljes mértékben elkerülhető a program túlbonyolítása.
"Mondj egy olyan dolgot a C nyelvben, ami nem kezdőbarát."
Memóriakezelés, pointerek, paraméterátadás.
"nincsenek bonyolult adatszerkezetek"
Ez negatívum, nem pozitívum. Miért is jó, hogy C-ben pl csak primitív tömb van, míg mondjuk c++-ban nagyon okos, egyszerűen használható adatszerkezetek tömege.
"a program szerkezetét a nagyon egyszerű procedurális modell miatt könnyű felfogni"
C++-ban is lehet procedurálisan programozni, ellenben van egy tonna előnye a C-hez képest.
"a vezérlési szerkezetek egyszerűek"
Melyik ebben a kérdésben felmerült nyelvben nem azok?
"maga a nyelv "kicsi", azaz kevés lehetőség van benne. Maga a nyelv egyszerűbb, mint mondjuk a C++ vagy a Java."
Ez szintén egy negatívum. Pont ettől nehéz, hogy kevés eszközt ad a kezedbe, ezért mindent neked kell lekódolnod.
Assembly-ben még kevesebb eszköz van, akkor az még kezdőbarátabb?
"Ami még kezdőbarátabb, az a Python. Ott ugyan a hash táblák, closure-ok, stb. használata minden napos, de tanuláshoz teljes mértékben elkerülhető a program túlbonyolítása."
Na ez az egyetlen igaz mondat a hozzászólásodban.
""Mondj egy olyan dolgot a C nyelvben, ami nem kezdőbarát."
Memóriakezelés, pointerek, paraméterátadás. "
Ez a C-ben nem kimondottan bonyolult, főleg egyszerű feladatok esetén nem fog problémát jelenteni.
"Ez negatívum, nem pozitívum. Miért is jó, hogy C-ben pl csak primitív tömb van, míg mondjuk c++-ban nagyon okos, egyszerűen használható adatszerkezetek tömege. "
Egyszerűen használható, ez egy enyhe túlzás. Ha azt mondod, jól vannak megírva, akkor nem tévedsz. De az interface horribilis. Gondoljunk csak például az iterátorokra! És már eleve a template, mint fogalom, elbonyolítja az egészet. Kezdőként eleinte nem is fog ilyen adatszerkezeteket használni. Ahhoz, hogy azokat megértse, tisztában kell lennie a használt modellekkel és algoritmusokkal. Míg például egy tömb adatszerkezet megértése 10 percet vesz igénybe. Tehát, ezekre nem is igazán lesz szüksége.
""a program szerkezetét a nagyon egyszerű procedurális modell miatt könnyű felfogni"
C++-ban is lehet procedurálisan programozni, ellenben van egy tonna előnye a C-hez képest. "
Ebben egyetértek, és valóban - használhat C++-t úgy, hogy lényegében a feature-ök 1%-át sem használja ki. De így igazából C-t is használhat, mert kevés olyan fejlesztése van a C++-nak, amire neki kezdőként szüksége lesz. Talán egyedül a referencia szintaxis lehet segítségére.
""a vezérlési szerkezetek egyszerűek"
Melyik ebben a kérdésben felmerült nyelvben nem azok? "
Java-ban például a logikai operátorokkal mindenféle szopkodás van. C++-ban pedig egy három soros iterátor bejárós, template-ben lévő template adatszerkezetetek használó for ciklusra ne mondjuk már, hogy egyszerű. Soha, semmilyen más programozási nyelvben nem láttam még ennyire túlbonyolított interface-t adatszerkezetek bejárására.
"Ez szintén egy negatívum. Pont ettől nehéz, hogy kevés eszközt ad a kezedbe, ezért mindent neked kell lekódolnod.
Assembly-ben még kevesebb eszköz van, akkor az még kezdőbarátabb? "
Attól függ, mit akarsz elérni. Nagyon egyszerű feladatok esetén az assembly-vel is teljesen egyszerű tanulni. Sok helyen hallottam már, hogy szakképzéseken (!) rögtön a kezdők kezébe adják, és csak aztán ismerkednek a C-vel. Programozható mikrokontrollerek esetén. Ahol például az algoritmus, amit lekódolnak, nagyon egyszerű. De, nem erre gondoltam. A Python például elegánsan oldja meg a bonyolult feature-ök elrejtését, és teljesen egyszerű, könnyen megérthető interface-t ad. A kezdőknek szükséges tananyag pár oldalban összefoglalható. A C++ vagy a Java esetén ez nincs így. A Java-nál például kell, hogy fogalmad legyen arról, hogy mi az, hogy class. Tekintve, hogy Java-ban semmi sincs class nélkül.
> Java-ban például a logikai operátorokkal mindenféle szopkodás van.
Milyen szopkodás van vele? :) Szerintem tök kényelmesen használható, ha az ember elolvassa és megérti, mi a különbség && és & között. Nekem ezzel sosem volt semmi bajom.
> De, szerintem túlvitatjuk ezt :) A kérdéshez nem kapcsolódik már szorosan.
Hát az én 1. hozzászólásom(on kívül a 11. hsz. utolsó bekezdése) kapcsolódik egyedül a kérdéshez. :D Persze a kérdező pont leszarja, hogy válaszoltam a kérdésére.
Konzol output szinezése egy kissé problémás, itt van róla egy cikk:
Swing komponenseknél egy kissé egyszerűbb a helyzet:
JTextArea txt = new JTextArea();
Font font = new Font("Verdana", Font.BOLD, 12);
txt.setFont(font);
txt.setForeground(Color.BLUE);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!