Ahojte,
neviem ci mi budes chciet odpovedat ale mam 3 otazky
1.V akom programe programujes(v jazyku PASCAL)?
no, lebo vzdy sa tu pise len o tom jazyku..
je to ten Borlan pascal?
2. da sa v pascale naprogramovať program ako napr Student dog?A tak aby mal to
windowsacke okienko..
3.ako dlho ste sa ucil Pascal? A ako dlho trvala vyroba napr Nightwalkera?
To je sice hezké, ale dnes již Windows XP moc lidí nemá a od Windows
Vista je rozšířenost 64bitové platformy velmi vysoká, takže asi 40%
koncových uživatelů aplikaci nespustí, za pár let to bude většina.
Když už chceš za každou cenu dělat okna v Pascalu, tak na to je tu Lazarus,
ne Borland Pascal z minulého století.
Myslím, že je dnes vhodnější učit se rovnou moderní objektové jazyky
jako jsou C# nebo Java Pascal
je velmi zastaralý a už se s ním prakticky nesetkáte.
Borland nebo Turbo už ne no. Freepascal by měl fungovat, ale jak jazyk, tak
IDE jsou zastaralé. Dříve jsem také zastával názor, že je Pascal dobrý
na učení programování. Potom, co jsem se však setkal s moderními jazyky a
objektovým programováním mi došlo, že učit se starý standard je spíše
na škodu. Tak, jako se programovalo v Pascalu, se už dávno neprogramuje, IT
sféra se velmi rychle vyvíjí a mění.
no když seš ten kvantovej počítač tak vo tom asi něco víš, ale
stejně.. co vlastně ta Java nebo Cis umí navíc? nebo v čem ten pascal
zastaral? Free Pascal/Lazarus mi příde docela vychytanej.
no když seš ten kvantovej počítač tak vo tom asi něco víš, ale
stejně.. co
vlastně ta Java nebo Cis umí navíc? nebo v čem ten pascal zastaral? Free
Pascal/Lazarus mi příde docela vychytanej.
Java, C#, popř. skriptovací jazyky tě více odstiňují od samotného
operačního systému. To znamená, že se můžeš soustředit na řešení
vlatního problému, není nutné vědět, jak funguje např. správa paměti
či ukazatelé. Běhové prostředí těchto jazyků navíc disponuje
rozsáhlými knihovnami, takže spoustu věcí nemusíš implementovat, stačí
je jen používat. Další ulehčení programování představuje samotná
syntaxe; možnost přetěžování operátorů a funkcí, generické datové
typy, samotné OOP...
Problém docela je, když pak od lidí, co viděli jen Javu a C# potřebuješ
naprogramovat něco blíže operačnímu systému. Pak to bývá smutný
příběh (alespoň ze začátku), ale holt doba je už taková.
Lazarus je docela fajn, ale pořád nemá na plnohodnotné (ale bohužel
drahé) Delphi. Je zkrátka vidět, že tam ještě dost věcí chybí. Jinak ti
nic nebrání jej (stejně jako Delphi) využívat na tvorbu aplikací bez
použití objektových knihoven pro grafické rozhraní. Pak je úkol
vytvoření aplikace s grafickým rozhraním prakicky ekvivalentní úkolu
vytvořit tuto aplikaci ve starém Pascalu (Borland Pascal 7.0).
Jinak i Borland Pascal 7.0 má rozhraní pro Windows. Jelo mi bez problémů
na Windows XP (žádná konzole), takže bych řekl, že možná to bude umět
generovat i 32bitový kód. Ale musel bych to vyzkoušet.
Pokud chce někdo začít s nízkoúrovňovým jazykem, tak je dle mě
nejlepší jít do C. Docela by mě zajímalo, kde všichni co chtějí začít,
berou ten Pascal?! A pokud chci psát pro Windows, tak je nejlepší sáhnout po
jazyku pro .NET a netrápit se s jazyky z 80.let.
@sdraco: Jen poopravím, že 64bit tu máme už od Windows XP.
@Tahoun:
C je pro systémové programování vhodnější, ač Pascal (zvláště ve
formě Delphi/Freepascalu) pro něj lze celkem bez problémů použít. Ale
začátečníkům bych Cčko rozhodně nedoporučoval. Pascal jim poskytne
jakýsi úvod, který jem pomůže pochopit některé věci o fungování
systému. Pak klidně mohou přejít do Cčka, které přidá hlavně
pointerovou aritmetiku a odlišnou práci s řetězci, příp. silnější
preprocesor.
A všichni, co chtějí začít, ten Pascal zřejmě berou z toho, že se
využuje na některých SŠ a VŠ.
.NET bych na systémové programování moc nepoužíval, ale může to být
jen absencí mých znalostí. Přijde mi, že věci, které lze řešit
voláním několika funkcí Windows API, je v .NETu třeba řešit kvůli
objektovému modelu dost složitě.
Ten .NET jsem myslel pro aplikační programování, nikoliv pro systémové.
Pascalu jsem nikdy nepřišel na chuť a C pro mě nebyl problém. Takže to
beru z vlastní zkušenosti. Že se Pascal stále, ač pro mě z
nepochopitelných důvodů někde vyučuje, vím. Ale určitě se s ním nejde
moc do hloubky a dál se mu bude věnovat jen mizivé % žáků. Vlastně si
dovolím tvrdit, že 0 %. Navíc, mě nenapadá jediný příklad, kde by bylo
vhodnější použít Pascal, než-li C. Ukončil bych to tím, že ať už
člověk zvolí jakýkoliv jazyk, tak je mu to k ničemu, pokud si neosvojí
algoritmický způsob myšlení. Na tom se snad shodneme všichni
Právě někdy je lepší na algoritmy zapomenout a programovat v OOP bez
nich. Cykly, ify, switche, mutable variables - bez toho se dá obejít a program
pak vypadá mnohem čistěji.
Asi každý programujeme úplně jiné věci, jinak si nedovedu představit,
proč máme tak rozdílný pohled na programování.
Docela by mě zajímalo, co tedy programuješ, když se bez těchto základních
konstrukcí obejdeš
Třeba teď u hry do soutěže Magické Léto, co tu probíhá, mám
softwarový rendering - tam jsou nějaké cykly (přes všechny pixely
obrazovky) a spousty výpočtů, nenapadá mě žádný způsob, jak se bez
cyklů a podmínek obejít a udělat to objektově (natož aby to ještě
běhalo použitelně rychle).
Hledání cesty taktéž - napsat Dijsktru bez cyklů a podmínek bych asi
nezvládl .
O tom to právě je. Přenechat počítači co nejvíc rutinní práce, aby
byl co nejmenší prostor pro chyby. Nebudu přece počítač učit něco, co
už umí. Programy mají být krátké a efektivní. Algoritmy je jen zbytečně
prodlužují a zpomalují.
Obvykle ho stačí jen nasadit. A podobně jako u auta by mělo být jedno, v
jakém pořadí ta čtyři kola nasadíš a mělo by to jet. Tedy metoda by
správně měla fungovat i po přeházení řádek.
Dopadá to občas dost špatně, když ty knihovny používají lidi, co
nemají tušení, jak to vevnitř funguje.
Jako třeba když jsem se v bývalém zaměstní hádal, jak nejefektivněji
string oříznout na max 1000 znaků (tak, aby se řezalo za celým slovem -
moje řešení jet od 1000. znaku k začátku a hledat mezeru prý je
pomalejší než regex, protože tam mám cyklus, zatímco on jen volá jednu
funkci...
Satik: to ano, ale počítám, že to nebude úplně pohodlné, protože asi
nebudou pro tyto API funkce nikde definované datové struktury. Případně
možná bude třeba použít unsafe blok. Pak tam ještě bude asi penalizace za
přechod z MSIL do nativního kódu, ale ta asi v release režimu nebude moc
významná.
http://msdn.microsoft.com/…a712982.aspx
Nějaký overhead tedy je, ale při malé frekvenci volání je to zřejmě
nevýznamné (popř. při předávání rozumných datových typů).
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.