Autor Zpráva
Čávo
Profil *
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
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
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
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
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ší.
Čávo
Profil *
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 *
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;
Toto téma je uzamčeno. Odpověď nelze zaslat.

0