Portál AbcLinuxu, 22. listopadu 2025 20:46
Všechny příznivce OOP (zde „opravdového objektového programování“) jistě potěší, že vysoce výkonná implementace Smalltalku zvaná Strongtalk, která Sunu posloužila jako jeden ze základů pro implementaci HotSpot VM současné Javy, byla uvolněna pod BSD-like licencí.
Tiskni
Sdílej:
Ať žijí dynamické jazyky!
. V podstatě neznám druhý takový jazyk, ale bývá prý přirovnáván k PL/I.
Medzi Perlom a Pythonom nie je velky rozdiel.Podle mě tam rozdíl je. Z Perlu člověk velmi rychle vystřízliví a následuje krutý depresivní sešup, který nikdo nechce zažít dvakrát. Naopak Python je silně návykový. Asi se z něj už nevyléčím a když si nenapíšu denně aspoň jeden skriptík v Pythonu, tak mám absťák. Přes dva roky se to se mnou vleče. Ze všeho nejhorší jsou víkendy, kdy je na abclinuxu poměrně mrtvo a nikdo nechce nic naprogramovat. To pak nutně potřebuju vyprošťovák a v zoufalství čtu aspoň dokumentaci.
To se někdy ozvi, já si vždycky něco vymyslím
Můžeš naznačit, jak nebo proč dochází k vystřízlivění z PERLu? PERL používám k psaní různých skriptů sice zatím jen asi 2 roky, ale tenhle jazyk (při zachování "štábní kultury" kódu) mi připadne naprosto geniální pro tvorbu téměř čehokoliv na co si člověk vzpomene. S Pythonem se začínám teprve seznamovat, tak je pro mě těžké tyto dva jazyky srovnávat srovnávat...
Nepovažuji se za programátora. Psaní "prográmků" je pro mě spíše koníčkem a způsobem jak si ulehčit práci, popř. vyřešit nějaký problém.
(nejen) Z toho odkazu mi přijde, že Python je pravděpodobně jednodušší na studium, vzhledem k unifikovaným operátorům a funkcím bez ohledu na použitý kontext.
Nicméně prasárny se dají napsat v jakémkoliv jazyce, jen PERL k tomu možná dává více příležitostí než jiné jazyky ... jen jsem stále ještě nepochopil, v čem spočívá to vystřízlivění
Pl: Perl je o chlup rychlejší než Python
Py: No a? Rozdíl je nepatrný. A vůbec - oba jazyky mohou použít knihovnu napsanou v céčku a pak je to celkem jedno.
Pl: Perl má víc knihoven
Py: Nojo - modulů pro Perl je hodně. Ale jsou příliš často z nějakých důvodů nepoužitelné - nejdou zkompilovat, jsou zastaralé, neudržované, jejich funkcionalita se vzájemně překrývá a především panuje strašný chaos ve verzích.
Pl: To je FUD. Prostě to neumíš.
Pl: CPAN nemá v Pythonu ekvivalent.
Py: Bohužel
Py: Perlovská syntaxe je hrozná - samý speciální znak. Na Pythonu je vidět, že je naprosto zbytečné, aby na konci příkazů musel být středník, aby před proměnnou musel být dolar nebo bůhvíco, aby se používaly složené závorky - tohle všechno dělá Python daleko hezčí na čtení.
Pl: Když píšeš rozumně, dá se to i Perl číst. A vůbec - Python zase používá bílé znaky coby součást kódu, což se spoustě lidí nelíbí.
Py: Pro Python se daleko snáze píšou moduly v Céčku.
Pl: To se ti zdá.
Py: Python je daleko lépe přenositelný. Funguje na všem možném včetně windows, PDA, Palm, některé mobily atd.
Pl: Kdyby ses snažil, rozjel bys Perl taky všude ...
Py: Samotný Python obsahuje ve standarní knihovně daleko víc věcí než samotný Perl.
Pl: Však snad není problém si ty moduly nainstalovat, ne?
Pl: V Perlu platí "there is more that one way to do it" a je dobrodružné nalézat nejkratší kód.
Py: No, to je opravdu výhra, že se někde ušetří pár znaků. Pak vzniká nečitelný kód. A protože každý je zvyklý uvažovat (a psát) trochu jinak, vypadá každý kód jak z jiné planety.
Pl: Snad máme štábní kulturu, ne?
Py: Python je daleko čistší jazyk. Je od začátku navržen objektovitě, všechno je tam takové hezké a dynamicky typované.
Pl: Houby. Je to mišmaš funkcí a metod. Spoustu vlastností z OOP Python nemá. A vůbec - v Perlu jsou jakési objekty taky.
Py: Perlovská kontextovitost je hrozná. A ty jeho speciální proměnné dolar-něco taky.
Pl: Buď si na to zvykni nebo to nepoužívej. Já ty vlastnosti považuju za výhodu.
Py: Napsat v Perlu byť jen trochu složitější datovou strukturu je humus. Samý pseudo-pointer, samý dolar, zavináč, šipka, složená závorka, kontext, "přetypovávání" ...
Pl: No a? V Pythonu jsou zase mutable/immutable věci a kdo se v tom má vyznat?
Py: Python je daleko jednodušší jazyk na naučení.
Pl: To je relativní.
Py: Perl nemá ...
Pl: Slyšel jsi o Perlu 6? Ten bude mít všechno! Všechny vlastnosti všech jazyků světa v jednom.
Nejvyšší čas toho nechat.
)
A jsou přitom mnohem jednodušší a přehlednější než by byl jejich ekvivalent v Javě
Za prvé sem nemíchejte C++ (to uplně něco jiného).Tak to nesouhlasím - C++ má k Javě z mého pohledu daleko blíže než Java k Pythonu/Ruby/Lispu/Smalltalku.
Určitě se zde najde také spousty lidí co Vám řeknou pravý opak.Tak to je snad jasné, já nikde netvrdím že můj názor je Jediná Svatá Pravda (tm). Nicméně bych se vsadil, že jediní kdo budou tvrdit, že Java je přehlednější, budou právě Javisté
) a přesto sdílím subjektivní pocit jeho o extrémní čitelnosti.
package org.acme;
import java.rmi.RemoteException;
import javax.ejb.*;
public class JavaBean implements SessionBean {
private SessionContext sessionContext;
public void ejbCreate() {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sc) {
this.sessionContext = sc;
}
public String sayHello() throws java.rmi.RemoteException {
return "Hello world!";
}
}
Doufám, že je tu každému jasné, že J2EE (zvláště Java Beans) je to nélepčí, co nám mohl Sun nabídnót. V přehlednosti to už snad překonává už jenom java.lang.reflect API
. Kam se na to hrabe Python, nebo třeba Smalltalk.
Dokonce i proti Rails vytvořil WhyTheLuckyStiff svůj mikroframework – jmenuje se Camping. Takhle je to asi se všemi přebobtnalými technologiemi:
http://www.artima.com/weblogs/viewpost.jsp?thread=4846
Nezačneme měřit vypitá kafe?
+1
if( a instanceof ClassA ) {
...
} else {
...
}povazuji za prasarnu nejvetsiho kalibru.
„The type system is both optional and incremental, and operates completely independently of the compiler technology (which means that normal untyped Smalltalk code runs just as fast as typed code).“Já si myslím, že důležité je především to, že se jedná o špičkovou technologii dynamické kompilace, IMHO možná nejlepší, která je svobodně k dispozici. To by mohlo přijít vhod implementacím mnoha jazyků, třeba i toho Pythonu.
Rubisté si už v mailing listu mnou prsty, tohle se opravdu nedá ignorovat jako malá událost.
To se jistě využít dá
Stačí se vyhnout tomu balastu statického typování a využít jen výhodný výkonný engine
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.