Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
jan
Neregistrovaný
Avatar
jan:21.3.2010 12:35

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?

 
Odpovědět
21.3.2010 12:35
Avatar

Neregistrovaný
Avatar
Odpovídá na
:21.3.2010 17:06
  1. Kdyby sis to tu projel, zjistil bys, že se tu píše o více jazycích, aktuálně dělám v C#.
  2. Ne
  3. Učil několik let, Nightwalker zabral asi 3 měsíce.
 
Nahoru Odpovědět
21.3.2010 17:06
Avatar
jan
Neregistrovaný
Avatar
jan:22.3.2010 8:55

aha, takže to windows okno nie?

 
Nahoru Odpovědět
22.3.2010 8:55
Avatar
sdraco
Vlastník
Avatar
Odpovídá na
sdraco:22.3.2010 12:52

Pascal není pro Windows, takže Windows okno ne :) Jazyk Pascal dále pokračuje jako Delphi, kde to možné je.

Nahoru Odpovědět
22.3.2010 12:52
You are the greatest project you will ever work on.
Avatar

Neregistrovaný
Avatar
:22.3.2010 13:18

Aha a delphi je ťažšie?

 
Nahoru Odpovědět
22.3.2010 13:18
Avatar
sdraco
Vlastník
Avatar
Odpovídá na
sdraco:22.3.2010 13:36

Jak se to vezme, jsou to téměř totožné jazyky, jen programování pro Windows je trochu složitější na pochopení (program už nejede odshora dolů).

Nahoru Odpovědět
22.3.2010 13:36
You are the greatest project you will ever work on.
Avatar

Neregistrovaný
Avatar
:23.3.2010 10:48

No, tak to delphi sa mi viac pozdáva, lebo PASCAL sa mi zdá starý(ale ajtak s ním chcem začať :D )

 
Nahoru Odpovědět
23.3.2010 10:48
Avatar
tomasbrod
Člen
Avatar
Odpovídá na David Hartinger
tomasbrod:29.12.2010 11:58

V Borland Pascale 7.0 mozes robit programy pre win 3.10 aj s oknom (16bit).
V okne complie>target zvol windows

 
Nahoru Odpovědět
29.12.2010 11:58
Avatar
sdraco
Vlastník
Avatar
Odpovídá na tomasbrod
sdraco:29.12.2010 12:40

To sice ano, ale taková aplikace ti dnes na 64-bitových OS nepojede ;)

Nahoru Odpovědět
29.12.2010 12:40
You are the greatest project you will ever work on.
Avatar
tomasbrod
Člen
Avatar
Odpovídá na David Hartinger
tomasbrod:14.1.2011 17:09

Ale
Na Win32 Windows xp som ju bez problemov spustil

 
Nahoru Odpovědět
14.1.2011 17:09
Avatar
sdraco
Vlastník
Avatar
Odpovídá na tomasbrod
sdraco:14.1.2011 17:15

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í. ;)

Nahoru Odpovědět
14.1.2011 17:15
You are the greatest project you will ever work on.
Avatar
meteos
Člen
Avatar
meteos:25.12.2011 20:13

Myslím, že na začátek by si měl každý vyzkoušet Pascala, než se pustí do větších projektů. ;)

 
Nahoru Odpovědět
25.12.2011 20:13
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na meteos
David Hartinger:25.12.2011 20:16

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.

Nahoru Odpovědět
25.12.2011 20:16
You are the greatest project you will ever work on.
Avatar
meteos
Člen
Avatar
meteos:26.12.2011 12:11

A dnes ho skoro ani nespustíte :D:D

 
Nahoru Odpovědět
26.12.2011 12:11
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na meteos
David Hartinger:27.12.2011 20:46

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í.

Nahoru Odpovědět
27.12.2011 20:46
You are the greatest project you will ever work on.
Avatar
havlat82
Člen
Avatar
Odpovídá na David Hartinger
havlat82:25.8.2013 17:19

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.

 
Nahoru Odpovědět
25.8.2013 17:19
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:25.8.2013 18:29

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.

Nahoru Odpovědět
25.8.2013 18:29
2 + 2 = 5 for extremely large values of 2
Avatar
Michal Z.
Člen
Avatar
Michal Z.:25.8.2013 20:42

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.

 
Nahoru Odpovědět
25.8.2013 20:42
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:25.8.2013 21:50

Tady se nejedná o masochismus, ale o sadismus páchaný na studentech MFF.

Nahoru Odpovědět
25.8.2013 21:50
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:25.8.2013 21:53

@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ě.

Nahoru Odpovědět
25.8.2013 21:53
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Luboš Běhounek Satik:25.8.2013 22:31

V C# můžeš normálně volat winapi funkce taky :)

Nahoru Odpovědět
25.8.2013 22:31
https://www.facebook.com/peasantsandcastles/
Avatar
Michal Z.
Člen
Avatar
Odpovídá na Martin Dráb
Michal Z.:25.8.2013 23:10

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 :)

Editováno 25.8.2013 23:10
 
Nahoru Odpovědět
25.8.2013 23:10
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:25.8.2013 23:15

Neshodneme. Dnes je upřednostňováno OOP a deklarativní programování před algoritmickým.

Nahoru Odpovědět
25.8.2013 23:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Z.
Člen
Avatar
Odpovídá na Kit
Michal Z.:25.8.2013 23:21

I přesto považuji osvojení si algoritmizace za základ.

 
Nahoru Odpovědět
25.8.2013 23:21
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:25.8.2013 23:22

K čemu? U mnoha programovacích jazyků algoritmizaci vůbec nepotřebuješ.

Nahoru Odpovědět
25.8.2013 23:22
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
havlat82
Člen
Avatar
Odpovídá na Kit
havlat82:25.8.2013 23:25

co je deklarativní programování?

 
Nahoru Odpovědět
25.8.2013 23:25
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:25.8.2013 23:27

OOP a algoritmický způsob myšlení se snad nevylučují, ne?
I když programuješ objektově, tak potřebuješ znát a umět používat algoritmy :)

Jinak Pascal se myslím používá hlavně kvůli tomu, že má pro začátečníka mírně čitelnější syntaxi a je benevolentnější - např. není case sensitive.

Pro začátečníka je určitě čitelnější

VAR I : INTEGER;
...
FOR I:=0 TO X DO

než

for (int i=0; i<x; i++)
Nahoru Odpovědět
25.8.2013 23:27
https://www.facebook.com/peasantsandcastles/
Avatar
Michal Z.
Člen
Avatar
Michal Z.:25.8.2013 23:27

Přirovnal bych to ke kondomu. Je lepší ho mít a nepoužít, než nemít a potřebovat.

Editováno 25.8.2013 23:29
 
Nahoru Odpovědět
25.8.2013 23:27
Avatar
Odpovídá na havlat82
Luboš Běhounek Satik:25.8.2013 23:29

Nepíšeš posloupnost příkazů, ale jen deklaruješ, jak má vypadat výsledek - třeba prolog nebo SQL.

Nahoru Odpovědět
25.8.2013 23:29
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na havlat82
Kit:25.8.2013 23:30

Deklarativní je programování aplikací pomocí definic, kde nepopisuješ jak se to má udělat, ale jen co se má udělat. Například SQL nebo XSL.

Nahoru Odpovědět
25.8.2013 23:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:25.8.2013 23:33

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.

Nahoru Odpovědět
25.8.2013 23:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Z.
Člen
Avatar
Odpovídá na Kit
Michal Z.:25.8.2013 23:38

Ty se možná bez algoritmů obejdeš, ale počítač ne.

 
Nahoru Odpovědět
25.8.2013 23:38
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:25.8.2013 23:42

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 :) .

Nahoru Odpovědět
25.8.2013 23:42
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:25.8.2013 23:42

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í.

Nahoru Odpovědět
25.8.2013 23:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:25.8.2013 23:46

Hlavně využívám algoritmy, které jsou v knihovnách a které byly napsány takovými lidmi, jako jsi třeba ty. Nechce se mi vynalézat kolo.

Nahoru Odpovědět
25.8.2013 23:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Z.
Člen
Avatar
Odpovídá na Kit
Michal Z.:25.8.2013 23:48

Toho kola se chytnu :) Vynalézt ho nemusíš, ale je dobré vědět co udělat, abys na něm mohl jezdit :)

 
Nahoru Odpovědět
25.8.2013 23:48
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:25.8.2013 23:53

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.

Nahoru Odpovědět
25.8.2013 23:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Z.
Člen
Avatar
Odpovídá na Kit
Michal Z.:25.8.2013 23:59

Já bral to kolo jako bicykl. A tam není jedno jestli napřed budeš šlapat, nebo ho napřed chytneš a nasedneš.

 
Nahoru Odpovědět
25.8.2013 23:59
Avatar
Michal Z.
Člen
Avatar
Michal Z.:26.8.2013 0:00

No... asi se vážně neshodneme. Každej na to máme jiný názor. Ale je to dobře. Jinak by na světě byla nuda.

 
Nahoru Odpovědět
26.8.2013 0:00
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Z.
Kit:26.8.2013 0:02

Nasednout a jet je přece jedna operace (konstruktorem vytvořím objekt naplněný daty).

Nahoru Odpovědět
26.8.2013 0:02
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:26.8.2013 0:04

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... :)

Nahoru Odpovědět
26.8.2013 0:04
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:26.8.2013 0:12

Proto píšu testy, abych si ty používané funkce otestoval v požadovaných režimech a aby můj program přežil i upgrade takových knihoven.

Zrovna ten tvůj spor bych si do testu napsal a myslím si, že by tvůj algoritmus vyhrál.

Nahoru Odpovědět
26.8.2013 0:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Martin Dráb:26.8.2013 1:15

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á.

Je ale fakt, že to jde pořád lépe než v Javě :-).

Nahoru Odpovědět
26.8.2013 1:15
2 + 2 = 5 for extremely large values of 2
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Kit
Lukáš Hruda:26.8.2013 1:36

Kolo bylo vynalezeno už velmi dávno, ale to neznamená, že si nemůžeš vyrobit svoje.

 
Nahoru Odpovědět
26.8.2013 1:36
Avatar
Odpovídá na Martin Dráb
Luboš Běhounek Satik:26.8.2013 1:40

Složitější datové struktury se většinou válejí různě po netu už přepsané.

Unsafe se musí používat jen když používáš ukazatele, pokud funkce používá třeba jen obyčejná čísla, tak to řešit nemusíš :)

Penalizace tam žádná není, kód se před prvním použitím normálně kompiluje z MSIL do nativního kódu.

Nahoru Odpovědět
26.8.2013 1:40
https://www.facebook.com/peasantsandcastles/
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:26.8.2013 12:03

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ů).

Konec OT.

Nahoru Odpovědět
26.8.2013 12:03
2 + 2 = 5 for extremely large values of 2
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.

Zobrazeno 46 zpráv z 46.