abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 3
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

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

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Proč právě Java?

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

    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

    Diskuse byla administrátory uzamčena

    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
    5.9.2003 09:32 Daniel Mladek
    Rozbalit Rozbalit vše Java hosting?
    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: 37 | 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...
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.