abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:00 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2018-11-13 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Přehled novinek v poznámkách k vydání. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Simon Long z novinek zdůrazňuje multimediální přehrávač VLC s hardwarovou akcelerací nebo vývojové prostředí pro Python Thonny ve verzi 3. Ke stažení jsou nově také lite a full obrazy Raspbianu. Raspbian Full opět obsahuje software Mathematica.

Ladislav Hagara | Komentářů: 0
včera 02:00 | Nová verze

Krátce po vydání Debianu 9.6 oznámil Tomáš Matějíček vydání verze 9.6 dnes již na Debianu založené živé linuxové distribuce Slax. Vedle vylepšení z Debianu je opraveno několik malých chyb. Opraveno bylo bootování pomocí PXE. Novinkou je skript s názvem pxe pro spuštění vlastního PXE serveru.

Ladislav Hagara | Komentářů: 0
včera 01:00 | Nová verze

Byla vydána beta verze Red Hat Enterprise Linuxu 8. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
15.11. 13:44 | IT novinky

Nadace Raspberry Pi na svém blogu představila (YouTube) jednodeskový počítač Raspberry Pi 3 Model A+. Toto menší Raspberry Pi 3 lze koupit za 25 dolarů.

Ladislav Hagara | Komentářů: 0
15.11. 06:00 | Pozvánky

Dnes a zítra probíhá v Praze konference Internet a Technologie 18 pořádaná sdružením CZ.NIC. Sledovat ji lze online.

Ladislav Hagara | Komentářů: 1
15.11. 01:11 | Komunita

V září proběhl v Madridu Open Source CubeSat Workshop 2018. Videozáznamy přednášek byly zveřejněny na YouTube.

Ladislav Hagara | Komentářů: 1
15.11. 00:55 | Zajímavý software

Společnost Amazon představila Amazon Corretto. Jedná se o fork a distribuci OpenJDK (Open Java Development Kit) s dlouhodobou podporou od Amazonu. Ke stažení je preview verze 8. V plánu je také verze 11. Zdrojové kódy jsou k dispozici na GitHubu. Jedná se o reakci na oznámení společnosti Oracle, že bezplatné aktualizace její Javy nebude možné po lednu 2019 používat komerčně. Název Coretto vychází z Caffè corretto, tj. espressa s alkoholem.

Ladislav Hagara | Komentářů: 8
14.11. 12:44 | Nová verze

Po roce vývoje od vydání verze 5.2.0 byla vydána verze 5.3.0 svobodného integrovaného vývojového prostředí KDevelop (Wikipedie). Novinkou je analyzátor Clazy. Vylepšena byla podpora programovacích jazyků C++, PHP a Python. Ke stažení a k vyzkoušení je i binární balíček s KDevelopem 5.3.0 ve formátu AppImage.

Ladislav Hagara | Komentářů: 0
14.11. 05:55 | Komunita

Ubuntu 19.04 bude mít kódové jméno Disco Dingo. Dle oznámení v diskusním listu ubuntu-devel-announce je ve vývojové verzi Disco Dinga výchozím Pythonem 3 verze 3.7. Perl byl aktualizován na verzi 5.28. OpenSSL 1.0 bude nahrazeno OpenSSL 1.1.1 LTS. Nové instalace Dinga budou mít sloučený /usr. Stane se tak 7 let po sloučení /usr ve Fedoře nebo Arch Linuxu.

Ladislav Hagara | Komentářů: 9
14.11. 02:22 | IT novinky

V pondělí a úterý proběhl v San Franciscu Chrome Dev Summit 2018. Přehled dění v příspěvcích na Chromium Blogu. Videozáznamy přednášek na YouTube. Představen byl například web pro webové vývojáře web.dev nebo rozšíření webového prohlížeče Chrome s názvem VisBug (YouTube) určené pro webdesignery. Slíbená je podpora Firefoxu.

Ladislav Hagara | Komentářů: 0
Jak nejčastěji otevíráte dokumenty na počítači?
 (90%)
 (4%)
 (6%)
Celkem 101 hlasů
 Komentářů: 9, poslední 15.11. 22:46
Rozcestník

Proč právě Java?

19. 2. 2002 | Leoš Literák | Programování | 16945×

V minulém díle jste se dočetli, proč jsem přešel od PHP. Dnes se dovíte, proč jsem zvolil Javu.
Hlavní důvod, proč jsem zvolil Javu, byl veskrze praktický - pracuji s ní totiž každý den. Proč bych se měl učit něco jiného, když Java mi poskytuje vše potřebné? Pokud jste v něčem dobří, používejte to. Nemá smysl přecházet na nějaký jiný jazyk jen proto, že je to zrovna módní. Důležité jsou jen dvě věci:
  1. vaše produktivita
  2. kvalita kódu
Produktivita znamená, jak rychle dokážete přidat nové vlastnosti či funkce. K čemu vám bude sebelepší knihovna, když s ní neumíte pracovat? Pro mně se takovou černou můrou stal Webwork. Jedná se o velmi hezkou knihovnu poskytující pull verzi Model-View-Controller architektury, ale nedokázal jsem v ní vytvořit ani tu nejjednodušší stránku. Ztratil jsem při jejím učení a experimentech nejméně týden. Takže než přejdete k něčemu novému, ujistěte se, že to stojí za to.

Základem každého projektu je kvalita kódu. Sebelepší design je zhacen, pokud programátor píše hrozně. A naopak, ani nejlepší profík nezachrání špatně navržený design. Kód musí být přehledný, snadno čitelný a rozdělen do logicky souvisejících celků. Pokud budete psát kvalitní kód, ušetříte si spoustu času při ladění kódu, hledání chyb a přidávání nových vlastností.

Naprosto zásadním požadavkem je dokumentace. I když píšete jen pro sebe. Nevěříte? Zkuste se podívat někam doprostřed delšího souboru u projektu, který jste rok neviděli? Jak dlouho vám potrvá, než pochopíte, jaký má ta část účel a s čím je propojena? Ja vím, je to hrozně těžké, zláště když vás tlačí termín. Jenže minuta dokumentace vám ušetří deset minut při pozdější údržbě.

Java mi nabízí dobré podmínky pro splnění těchto požadavků. Ve svém jádře obsahuje několik stovek tříd s podporou všech zásadních funkcí, které programátor potřebuje. Ať už jsou to seznamy, mapy, práce s kalendářem, se soubory, se sokety, s databází, s řetězci, uživatelské rozhraní a tak bych mohl dlouho pokračovat.

Sun si dává záležet na čistotě jazyka, takže vývoj v Javě je intuitivní. Díky hezky navržené hierachii tříd se spousta věcí programuje stejně. Například takový InputStream. Hlavními metodami jsou read() a close(). Použití je snadné. Naučíte se s nimi pracovat třeba při čtení ze standardního vstupu. Později začnete pracovat se soubory a ejhle - rozhraní je stejné. Až se dostanete k soketům či komprimovaným archivům, opět použijete stejné metody a nemusíte se učit nic nového. Takhle je to v Javě se vším - čistota designu a produktivita práce jsou na prvním místě.

Asi bych se měl zmínit i o dalších aspektech jazyka, které zvyšují efektivitu programátora.

  1. Striktní pojetí jazyka. Pokud bych parafrázoval reklamu, pak co je v Cečku povoleno, to je v Javě zakázáno. Na jedné straně se můžete cítit svázáni regulemi jazyka, jenže postupem času zjistíte, že tvůrci jazyka pro to měli dobrý důvod. Java vám nedovolí udělat některé chyby z nepozornosti, tak typické pro C/C++. Spoustu chyb odhalí již při kompilaci. A to je lepší, než když spadne družice kvůli překlepu.
  2. Žádné ukazatele. Nemusíte si pamatovat, kdy použít referenci a kdy dereferenci. Pointery jsou danajským darem pro Cečko. Na jedné straně díky ním můžete psát maximálně efektivní kód, na druhé straně snad polovina chyb pramení z jejich špatného použití. Všechny ty neoprávněné přístupy do paměti či SIGSEGVy kvůli špatné pointerové matematice jsou v Javě nemožné. Každá proměnná buď odkazuje na platný objekt správného typu nebo je rovna null. Inicializované pole obsahuje položku length. A pokud si přesto nedáváte pozor a použijete neexistující prvek, vyskočí NullPointerException či ArrayIndexOutOfBoundsException.
  3. Nutnost přetypovat čísla při ztrátě přesnosti. Například pokud přiřazujete int do byte. Céčko vám díky automatické konverzi vezme cokoliv, Java si vyžádá potvrzení vašeho úmyslu byte b = (byte)i;. Zdá se vám to zbytečná buzerace? V 80% případů potvrdím svůj úmysl doplnění přetypování, ale ve zbylé pětině se zarazím a změním typ deklarované proměnné. A děsím se představy, za jakých okolností by se tato chyba projevila.
  4. V podmínkách musí být jen logické výrazy. Céčko sice díky předpokladu, že nula je false a vše ostatní je true, umožní programátoru neskutečné optimalizace a kejkle, ale zároveň i příšerné chyby. Například tento nekonečný cyklus je v Céčku platný, v Javě jej zamítne už kompilátor:
    int i = 2, j = 2;
    while ( i=j ) i++;
    
    Pro méně pozorné, programátor zapomněl jedno rovnítko, takže se z testu rovnosti stalo přiřazení nenulové hodnoty. A to v Cečku nabývá vždy hodnoty true. Kompilátor Javy by našel číselný výraz na místě, kde očekával výraz logický a odmítl by pokračovat.
  5. Vyjímky zásadně zjednodušují řešení chybových stavů a zpřehledňují zdrojový kód. Například programujete odmocninu celých čísel. V Cečku byste museli pro záporná čísla buď vracet hodnotu rezervovanou pro chybu či nastavovat globální proměnnou (typicky errno). A pak spoléhat na to, že programátor nezapomene ji otestovat. V Javě prostě hned na začátku při testu platnosti vstupních dat vyhodíte vyjímku a i kdyby ji programátor ignoroval, za běhu programu je možné zjistit, v které části (či dokonce na kterém řádku) je chyba.
  6. Dědičnost a garbage collector. Každý objekt v Javě je potomkem třídy Object. Hierarchie tříd proto tvoří stromovou strukturu. Díky tomu je snadné napsat metodu, jejímž parametrem může být libovolný objekt. Šablony z C++ se mohou zahrabat hanbou! Java nepodporuje vícenásobnou dědičnost, ale rozhraní jsou dostatečnou náhradou této obtížné vlastnosti. Opět vás to přinutí psát čistší kód. A automatický garbage collector je rájem pro zapomnětlivce, kteří zapomínali volat destruktor v C++ a zahltili tak volnou paměť. Pravda, implementace by mohla být efektivnější, ale koncept je výborný.
  7. Javadoc. Psát dokumentaci je díky němu opravdu snadné. Hned jak nadeklarujete metodu, měli byste k ní ihned napsat dokumentaci. Později příkazem javadoc lze extrahovat veškerou dokumentaci do podoby html.
Výše zmíněné vlastnosti jazyka umožňují psát přehledný kód, který neobsahuje některé třídy chyb z nepozornosti. Pokud budete psát v Javě, sníží se nepoměr mezi časem potřebný k napsání aplikace a laděním-údržbou. Java vám dává okamžitě k dispozici obrovské množství knihoven a zároveň vás brzdí při psaní chyb.

A pak je tu ještě jeden aspekt. Pro Javu existuje spousta Open Source knihoven. Pokud potřebujete něco naprogramovat, je dobré se porozhlédnout po internetu, zda vás někdo nepředběhl. Pokud programujete webové aplikace, podívejte se na Jakartu. Jedná se o kolekci nejrůznějších knihoven a frameworků napsaných v Javě. Mezi ně patří referenční implementace servletů Tomcat, knihovna pro práci s XML Xerces či nádherná knihovna pro logování Log4J.

Pro snadné testování kvality kódu je k dispozici framework JUnit. Bez kvalitních unit testů by neměl jít žádný softwarový produkt do reálného provozu. Unit testy by měly vznikat již během psaní kódu, raději však ještě dříve. Viz Extreme Programming.

Nepostradatelným pomocníkem každého programátora v Javě je Ant. Ant opět patří do rodiny open source projektů hostovaných na Jakartě. Ant je obdobou make, ale rozdíl mezi nimi je asi jako mezi trakařem a moderní dodávkou. Konfigurace probíhá skrze XML a je docela přehledná. Ant obsahuje desítky zabudovaných funkcí, další jsou dostupné ve volitelném balíčku. Základními funkcemi jsou například kompilace, manipulace se souborovým systémem (copy, mkdir, delete), práce s komprimovanými archívy (zip, jar, arj, gzip, tar) či CVS. Mezi volitelnými funkcemi najdete FTP, podpora .NET, JUnit či práce s archivy RPM a CAB.

       

Hodnocení: 38 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

4.3.2002 19:28 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Prvni komentar
Ahoj lidi,

toto je vubec prvni komentar v Abc. Pozdeji pribudou i diskusni fora, nebojte.

Tak programatori, konecne se muzete vyjadrit k tomuto serialu. Pro diskuse o PHP prejdete na minuly clanek. V tomto se muzete vyjadrovat o vasich nazorech a zkusenostech s Javou. Vsechny clanky serialu budou archivovany v sekci Architektura.

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
5.3.2002 14:47 KLoK
Rozbalit Rozbalit vše Java as C/C++
Bud neznate moznosti STL nebo zamerne zkreslujete vlastnosti C/C++ aby Java vypadala lepe. Zkuste najit opravdove vyhody Javy proti C/C++. Jako priklad uvedu ze u prekladace jdou zapnout warnings a to co Vam Java nahlasi jako chybu (nazorny priklad prirazeni ve smycce, nebo prirazeni do jineho typu) Vam prekladac nahlasi jako Warning. Co se tyce uvolnovani objektu existuje opet v STL trida autoptr kter Vam udela tu samou sluzbu co dela Java automaticky. Nicmene mate pravdu v tom ze by mel clovek pouzivat to co umi nejlepe.
5.3.2002 16:47 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Bud neznate moznosti STL nebo zamerne zkreslujete vlastnosti C/C++ aby Java
Opravdu neznam STL. V C++ uz jsem nedelal pres tri roky a moc mi to nechybi :-)

Ze jde zapnout warningy, pekne, ale kolik % lidi to pouziva?

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
5.3.2002 17:54 joe
Rozbalit Rozbalit vše Re: Opravdu neznam STL. V C++ uz jsem nedelal pres tri roky a moc mi to nechybi :-)

Ze jde zapnout warningy, pekne, ale kolik % lidi to pouziva?

Problem Javy a jeji rychlosti mne docela vadi.
5.3.2002 22:51 Mikron
Rozbalit Rozbalit vše Re: Problem Javy a jeji rychlosti mne docela vadi.
Mnel bych dva dotazy:

1) Jak je to se zatizenim serveru kdyz se porovna puvodni system v PHP a tento system v Jave.

2) Kdy budou nasledovat dalsi clanky, pripadne uvolneni zdrojovych kodu, neb se uz ve svych PHP zacinam pomalu ztracet.

Diky moc za tenhle super server Mikron

6.3.2002 09:43 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: narocnost 1) Jak je to se zatizenim serveru kdyz se porovna p
ad 1\

pamet: java je nejmin o rad narocnejsi
CPU: nevim, ale typicky pod 2% u 700MHz
procesoru

ad2\

tento vikend budu psat clanek do CW o JDK1.4, takze nejspis druha pulka pristiho tydne.

sorry, nestiham rychleji :-(

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
6.3.2002 10:45 KLoK
Rozbalit Rozbalit vše Re: Opravdu neznam STL. V C++ uz jsem nedelal pres tri roky a moc mi to nechybi
STL je soucasti ANSI/ISO standartu pro C/C++ jiz od roku 1997

Warningy si zapina ten kdo chce predchazet chybam. Me je na C/C++ sympaticky prave to ze mam svobodu se rozhodnout jak kvalitni bude muj kod :))

Ale opet opakuji, a v tom myslim se shodnem, ze programator by mel pouzivat ten jazyk ktery umi nejlepe a pokud jich umi vice stejne dobre pak vyuzit k danemu ucelu ten nejvhodnejsi.

11.3.2002 13:47 Lumi
Rozbalit Rozbalit vše Re: Bud neznate moznosti STL nebo zamerne zkreslujete vlastnosti C/C++ aby Java vypadala lepe. Zkuste najit opravdove vyhody Javy proti C/C++. Jako priklad uvedu ze u prekladace jdou zapnout warnings a to co Vam Java nahlasi jako chybu (nazorny priklad prirazeni ve smycce, nebo prirazeni do jineho typu) Vam prekladac nahlasi jako Warning. Co se tyce uvolnovani objektu existuje opet v STL trida autoptr kter Vam udela tu samou sluzbu co dela Java automaticky.Nicmene mate pravdu v tom ze by mel clovek pouzivat to co umi nejlepe.
Myslim, ze nezkresluje. Ja totiz taky i kdyz programuji dost dlouho, tak jsem pres Basic, Pascal, C/C++ nakonec skoncil v JAVe a jsem rad. Uz mne po nocich nebudi: Null pointer assignement resp. Segmentation fault. apod. Ano C/C++ je vyborne pro low level programovani, ale business apl. tam to je jedno. A ze je JAVa pomala. Mozna je na stejne urovni vykonu stroju, ale existuji jiz takove VM, ktere jsou opravdu rychle a musim rict, ze cim dal Business aplikaci bezi na JAVe. V nasi rep. napr. Kom. Banka (Moje banka), Ceska Spor. atd.
11.3.2002 18:02 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Myslim, ze nezkresluje.
plus paegas, eurotel, oscar ...
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
27.3.2003 14:23 Aleq
Rozbalit Rozbalit vše Re: Bud neznate moznosti STL nebo zamerne zkreslujete vlastnosti C/C++ aby Java vypadala lepe. Zkuste najit opravdove vyhody Javy proti C/C++. Jako priklad uvedu ze u prekladace jdou zapnout warnings a to co Vam Java nahlasi jako chybu (nazorny priklad prirazeni ve smycce, nebo prirazeni do jineho typu) Vam prekladac nahlasi jako Warning. Co se tyce uvolnovani objektu existuje opet v STL trida autoptr kter Vam udela tu samou sluzbu co dela Java automaticky.Nicmene mate pravdu v tom ze by mel clovek pouzivat to co umi nejlepe.
Ktere VM jsou rychlejsi nez SUN? Rad bych vedel, jake jsou vhodne alternativy J2SDK 1.4 od Sunu. Diky, Aleq
10.5.2002 07:45 McLord
Rozbalit Rozbalit vše Java hosting?
Ještě k tomu PHP: Jako velkou výhodu vidím, že téměř každý současný webhosting na Linuxu PHP podporuje. Některé navíc Perl, ale Javu skoro nikdo. Takže když nemáte vlastní server (HW), tak máte smůlu :-(
8.1.2003 09:24 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Java hosting?
www.move.cz (pri objednavce sdelte prosim, ze jste se o nich dozvedeli od nas - provize ;-) )
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
a nejaky zadarmo? diky
5.7.2005 19:00 Lukin
Rozbalit Rozbalit vše Re: Java hosting?
Java Hosting napr u Savvy.cz
18.12.2002 07:25 LS
Rozbalit Rozbalit vše Pletes kose s banama
Java je sice pekna vec, ale quaka bys v ni asi nenapsal, videoplayer taky ne a pokud potrebujes neco skutecne rychleho, tak javu muzes taky zahodit. Nechapu jak nekoho vubec muze napadnout srovnavat javu s C, to muzes zacit srovnavat cd-player a televizi. Televize je urcite lepsi nez cd-player, tak ten svuj co mas doma zahod:) C ma (stale) sve misto v programovani, a jestli delas bussines aplikace, tak to neznamena ze je delaji vsichni... Kdo si nezapina pri kompilaci warningy, tak neni programator ale idiot...
8.1.2003 09:22 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Pletes kose s banama
pletes banany s jabkami. proc psat quaka v C, kdyz v assembleru by bezel rychleji ;-) jestli pises multimedialni aplikace, neznameno to, ze je pisou vsichni. ;-) toto bylo jen srovnani jazyku a nikoho jsem v nem nenutil ani nepresvedcoval, at zahodi C a pise ovladace do jadra v Jave.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
4.2.2003 08:49 Rasto
Rozbalit Rozbalit vše Pletes kose s banama
Quaka zatial nikto nenapisal, ale napriklad IL II Sturmovik je napisany v Jave.
5.9.2003 10:12 Daniel Mladek
Rozbalit Rozbalit vše Pletes kose s banama
a hral's ho? Nebo jsi jen o tom cetl? JA ne, pac stahnuti je asi za prachy:-/ Podivej se semka a hledej slovo java: Next urban legend says, that IL-2 is coded in Java. Again, this assumption is based on rumors only, and has no substance. Java is used in IL-2, but just in small part. C++ is mostly used in coding this baby. je to zrejme komercni...a je to delane jen pro Windowzzz, takze k cemu pak java,kdyz to je delano jen pro konkretny platformu? Java je prece unplatformni, ne?
4.2.2003 15:25 mraky
Rozbalit Rozbalit vše Pletes kose s banama
to by ses divil.... samozrejme, ze quake by tam sel napsat...ale nikdo se do toho nehrne... BTW: videl jsem v jave moooc pekny formule, ktery chodili vic nez dobre, takze kdyz o tom nic nevis, tak o tom nepis....
25.5.2004 15:08 Zbůďa
Rozbalit Rozbalit vše Re: Pletes kose s banama
A videl ty formule ještě někdo? Nebyla to nahodou PowerPoint prezentace a ne Java?
9.4.2003 14:16 FFirewall | skóre: 7
Rozbalit Rozbalit vše Pletes kose s banama
K tem programovacim jazykum, kdyz jste hosi u toho porovnavani, pridam taky polinko do ohne. :=) Ti z nas, kteri se programovanim zabyvaji jiz nekolik petiletek, urcite prosli mnoha programovacimi jazyky (od 8-bit Assembleru pres Basic, SQL, Visual Basic, C++ a dalsi). Vime, ze v prubehu tech let jsme se museli omezit pouze na maximalne 2 jazyky ze vsech tech ruznorodych, ktere za tu dobu vznikly, a stale vznikaji. Pokud jsme se tehdy chteli zabyvat programovanim profesionalne, museli jsme do budoucna pocitat s jazykem, ktery hned tak nezanikne. Tam se na prvnich trech mistech asi drzi assembler, C++, a v posledni dobe nekolika let Java. Taky si nekteri z nas muzou zavzpominat na stare casy treba 8-bit procesoru a ruznych jazyku, ve kterych jsme kdysi byli profici, ale postupem casu jazyky bohuzel zanikly ci v dnesni dobe jsou primo nepouzitelne. Jak jsem kdysi cetl v "Inside Visual C++", hned v uvodu autor tento problem nas programatoru, a trendy budouciho programovani, jaksi zvyraznil. Uz tehdy psal o faktu, ze profik si musi vybrat nejlepe jediny programovaci jazyk. Tehdy to bylo budto C++ nebo Java. Tedy tyto jazyky, o kterych si profici mysleli, ze by mohly prezit nekolik petiletek, a ne jen jednu. Taky je rozdil zacit programatorskou karieru od assembleru ci vyssiho programovaciho jazyka. Ti, co kdysi zacinali na osmibitech v assembleru, se moznosti nizkourovnoveho programovani na jakekoli platfrome nikdy nevzdaji. A kdyz uz, tak jen kdyz opravdu musi. Se zamacknutou slzou v oku. :=) Druhou kategorii programatoru jsou nynejsi mladsi generace, ktere se nehodlaji prilis zabyvat tim, jak co pracuje, ale snazi se co nejrychleji "poskladat" svuj programek z jiz existujicich komponent, ktere za ne uz nekdo kdysi vytvoril (v C++ samozrejme :=) ). Tomu odpovida i dnesni trend. V pouziti vysokourovnovych programovacich jazyku. Ja bych tedy rozdil mezi (pouhymi) jazyky C++ a Javou videl v zasade asi takhle: -vysokourovnove jazyky mely, maji, a vzdy mit budou, omezene moznosti. Protoze VZDY spolehaji na skladani JIZ existujicich komponent. U Javy je omezeni treba uz jen v tom, ze je spjata s vyvojem internetu, kde by zustat mela, a asi zustane i navzdy. Ale k nicemu jinemu se Java pouzit neda. -zatimco v C++ mate zakladni moznost, kterou vysokourovnove jazyky postradaji, a sice udelat si vse sam, pripadne OPRAVDU DOPROGRAMOVAT a ne jen poskladat. :) Proto si myslim, ze C++ z povrchu zemskeho jen tak rychle nezmizi. Z programatorskeho uhlu: -ti z nas, kteri vedi, co je assembler, a radi programujou na nizke urovni, radi maji vse pod kontrolou. A umeji lepe predpovidat pripadne chyby jeste pred vlastnim PSANIM kodu; -vysokourovnovi programatori zacinaji NAPLACANIM kodu NE s myslenkou nejdrive promyslet vlastni kod, ale napsat ho, at mu pripadne debugger sam odhali "Petricku, tady ti chybi carecka, tady jsi zapomnel alokovat pamet, tady prece nemuzes delit nulou! Jak te to napadlo? A petricku ... tady mas studene kafe, dopij si ho!". Tohle je dnesni komfort vysokourovnovych jazyku. Jaka je krom ruznych omezeni (skladani komponent) zrejma jeste dalsi nevyhoda, je myslim jasne. Uzivatel nepremysli, ale hned placa nesmysly s tim, ze ho debugger na vse upozorni a vse opravi. Jak my Cckari rikame ... "uzivatel predpoklada ze ... ACCESS VIOLATION!" :-). Samozrejme se to nestava jen u vysokych prog. jazyku. Takze tolik tedy k mensimu zamysleni. :)
16.7.2004 11:31 p1A
Rozbalit Rozbalit vše Re: Pletes kose s banama
Quake2 v jave ? - Jake2
Athlon XP 2400@linux : C=262fps/Java(jre1.5)=212fps http://www.bytonic.de/html/jake2.html
8.8.2005 17:32 mimi.vx | skóre: 38 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Pletes kose s banama
ale napsal .... jen by asi 486 nestacilo .... mimochodem napr CHROME od Techlandu je kompletne v JAVE.....
USE="-gnome -kde";turris
16.11.2005 11:40 Matto
Rozbalit Rozbalit vše Re: Pletes kose s banama
Pocul si o JOGL ? Java OpenGL.. vacsina takychto hier pracuje s akcelerovanou grafikou a to uz pre javu nie je problem. Takze, vsetko sa renderuje hardwarovo a ostavaju len nejake male vypocty na pohyb postav, UI a pod. Podla mna no problem.

To ze java 3d hry a la Quake su uz skutocnostou dokazuje aj link: http://java.com/en/games/desktop/specforce.jsp

Navyse, ako vyvojar by som sa radsej rozhodol pre javu ako nejake C++ a kopec smernikov.
16.11.2005 12:17 Matto
Rozbalit Rozbalit vše Re: Pletes kose s banama
este doplnim:

https://jogl-demos.dev.java.net/

Kde spustite tieto OpenGL akcelerovane aplikacie cez java webstart. (javaws)
9.1.2003 16:32 taekwood
Rozbalit Rozbalit vše poradte mi
cao hosi. potreboval by som radu ci sa niekde na nete neda najst nejaka prirucka jak sa programuje v php a v C/C++ dikes moc.
9.4.2003 13:48 FFirewall | skóre: 7
Rozbalit Rozbalit vše poradte mi
Me se vzdy nejvice libi studium z papiru, tedy knihy, a ne monitoru. Proto bych doporucil navstivit nejdrive knihkupectvi, a az po absenci tebou hledane literatury v onech knihkupectvich, URLs na webu. :;)
16.4.2003 10:49 Miloslav Ponkrác
Rozbalit Rozbalit vše Zaujatost Leoše
Doufám, že mi to autor článku promine, ale přijde mi to zaujaté. Java je skvělý programovací jazyk, bez diskuse. Ale autor tu srovnává s C, tu s C++, vždy podle toho, kde to pro Javu je výhodnější. Například u výjimek srovnává s C, a ne s C++, které má výjimky též. Bod 5 tedy padá při srovnání s C++. Občas z něj také mluví nezkušenost. Například jsem už léta nezažil kompilátor C, který by mi v kódu v bodě 4 nenahlásil varování. Bod 3. Při ztrátě přesnosti dostávám u kompilátor C a C++ varování, že dojde ke ztrátě přesnosti. Bod 7. Javadoc je externí nástroj, na kompilátoru Javy nezávislý. Pro C++ už dlouho používám doxygen, který plní naprosto stejnou funkci jako JavaDoc, a dokáže to pro Javu, C, C++, PHP a další jazyky. Takže zase tento argument padá. Navíc umí generovat nejen HTML, ale třeba i RTF, TeX, pro Windows umí vytvořit soubory nápovědy, pro Linux generuje manové stránky. Sakra, proč bych vlastně používal prakticky neschopný a okleštěný javadoc, když doxygen funguje i pro Javu a dokáže mnohem mnohem víc? Prostě autorovi Java učarovala, a tak hledá argumenty za každou cenu. Mám Javu rád, ale co je moc, to je moc. Mimochodem, v Javě mi velmi chybí šablony tříd jako jsou v C++. Něco jako STL se nedá tak komfortně v Javě vůbec zrealizovat. Osobně si myslím, že hlavním vkladem Javy je rozsáhlá knihovna všeho možného. Věděl bych o spoustu věcí, které mě v C++ vadí, ale autor v podstatě na žádnou z nich nenarazil.
18.6.2003 23:02 Petras
Rozbalit Rozbalit vše Zaujatost Leoše
Vyjimky jsou v C++ ale nevyzaduji se tak jako Jave. Jinak autor ma stejne postrehy a radosti z Javy jako ja pri prechodu z PHP:)). Pro programovani na webu je Java opravdu vyborna, jinde nedokazu posoudit.
26.3.2008 11:00 Pavel Cejnar
Rozbalit Rozbalit vše Re: Proč právě Java?
Java je super. Splichtil jsem celou firemni prezentaci behem par dnu za pomoci grafickeho prostredi NetBeans naprosto bez problemu. Beha to svizne a na prvni pohled neni poznat, ze to delal Java amater. Drive jsem se horkeho salku bal. Jednak kvuli male rozsirenosti a tedy nedostatku informaci a druhak kvuli drahemu hostingu.
Ted uz se da poridit Java hosting za par sestaku ( FLYER.CZ ) a navodu i ruznych tutorialu jsou mraky...
10.3.2010 14:46 Roman
Rozbalit Rozbalit vše Re: Proč právě Java?
JAVA hosting od flyeru nebrat... Vlastni zkusenosti... Pro blizsi info piste romantic29 at gmail.com. Nic takoveho jsem jeste nezazil...

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.