Autor | Zpráva | ||
---|---|---|---|
Čávo Profil * |
#1 · Zasláno: 22. 7. 2006, 12:56:18
Aký objektovo orientovaný programovací jazyk(a framework) je podľa vás najideálnejší na tvorbu webových aplikácií. Zaťal som programoval hlavne Win32 aplikácie v Delphi a C++. Takže som dostatočne rozmaznaný bohatými vlastnosťami moderných OOP jazykov. Na Webe už asi pol roka používam procedurálne PHP, ktoré mi ale vôbec nevyhovuje keďže kód je nečitateľný, chýba typová kontrola a dostatočná podpora OOP(zapuzdrenie, virtuálne metódy, vlastnosti(property), atď.). Na tvorbu veľkých projektov je PHP absolútne nevhodné.
Alternatív je niekoľko uvažoval som nad Phyton-om alebo Ruby(RubyOnRails) nanešťastie v týchto jazykoch taktiež absentuje typová kontrola takže si neviem predstaviť ako v nich funguje napr. polymorfizmus. Do úvahy teda prichádza Java, alebo C#(.NET). Aké máte skúsenosti s týmito jazykmi a ktorý z nich mi odporúčate? |
||
thingwath Profil |
#2 · Zasláno: 22. 7. 2006, 13:03:16
Typová kontrola neabsentuje, je přítomná, datové typy existují. Ale až při provádění. Polymorfismus výslovné uvádění datových typů nepotřebuje. Volám metodu foo a daný objekt ji buď má, nebo nemá. Pokud ji má, vše je v pořádku. Pokud ji nemá, vyletí výjimka.
|
||
stribny Profil |
#3 · Zasláno: 23. 7. 2006, 13:00:53
Já bych si vybral .NET, protože C# je jednoduchý, dost podobný C++, líbí se mi jeho styl, Framework jako takový je ok. Problémy a mínusy bych sice našel, ale týkali by se spíše IIS samotného, ne .NETu jako takového - i když to vlastně docela souvisí :)
Javu nehodnotím - nic o ní nevím :D. |
||
WanTo Profil |
#4 · Zasláno: 23. 7. 2006, 13:16:53
Java je velice podobná C#. Např. nemá virtuální metody, přetížení operátorů, properties jsou řešené pomocí get/set metod. Dalo by se říct, že je v některých ohledech jednodušší. S výběrem frameworku neporadím (možná bude něco na konferenci java.cz), v J2EE se vůbec nevyznám.
|
||
llook Profil |
#5 · Zasláno: 23. 7. 2006, 13:35:48
I v PHP4 lze programovat objektově - OOP není o používání tříd a virtuálních metod, ale o přístupu. Pokud ti na PHP vadí jenom to, co jsi vyjmenoval, tak přejdi na PHP 5.
Jestli prostě chceš přejít na .NET nebo Javu, je úplně jedno, na který z nich přejdeš, tolik se neliší. Na .NETu se mi líbí, že si můžeš vybrat z více jazyků (včetně Pythonu) a o vývojových nástrojích od Microsoftu jsem taky slyšel jen samou chválu. Na Javě se mi zase líbí nabídka různých knihoven a nástrojů od různých dodavatelů (třeba skupiny kolem Apache Jakarta). Chceš-li dělat ASP.NET, nemáš vlastně na výběr jiný server než ten od Microsoftu. Java je taková stavebnicovější. |
||
Časová prodleva: 7 dní
|
|||
Čávo Profil * |
#6 · Zasláno: 30. 7. 2006, 23:44:37
llook:
ale veď jeden zo základných prvkov OOP je zapúzdrenie. Ako mám chrániť atribúty pred prepísaním? PHP4 neumožnuje pozerať sa na objekt ako na nezávislú entitu. PHP4 sú taktiež veľké problémy s dedičnosťou. v PHP4 nexistuje nič také ako Delphiovské Inherited alebo parent:: z PHP5. BTW: Dobrý programátor necháva všetky členské premenné v privátnej prípadne protected časti a zvonku k nim pristupuje bezpečne - len cez verejné metódy(alebo elegantnejšie cez property). Aj celá VCL knižnica je takto napísaná. V public časti žiadnej VCL triedy nenájdeš jedinú premennú. v PHP4 jednoducho objektový prístup neni možný. |
||
Čávo Profil * |
#7 · Zasláno: 30. 7. 2006, 23:53:52
WanTo:
Pomocou get/set metód? ako by si teda niečo takéto napísal v Jave?: type TTrieda = class private FData:String; function GetData:String; procedure SetData(Value:String); public property Data:String read GetData write SetData; end; procedure TTrieda.GetData; begin Result := FData; end; procedure TTrieda.SetData(Value:String); begin FData := Value; end; |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0