Základy programování

Idris

  • *****
  • 904
    • Zobrazit profil
    • E-mail
Re:Základy programování
« Odpověď #105 kdy: 01. 06. 2020, 17:13:17 »
Každopádně jsem rád, že moje děcka se ty příkazy, ify, smyčky a funkce naučily pěkně po staru v LightBotovi a Scratchi, takže ten experiment s FP jako prvním paradigmatem už na nich nikdo neudělá ani kdyby chtěl ;)
Karel už je out?


Re:Základy programování
« Odpověď #106 kdy: 01. 06. 2020, 17:40:04 »
...Delam ted na projektu s jednim skoro dedou, co zacinal jako databazista, a ted dela v Jave. A vstavaji mi vlasy hruzou pokazde, kdyz to prase v tom vidim neco naprogramovat. Neumi si blbec jeden dat dohromady 1+1 a vyrabi shity, ani Jackson si neda dohromady jak pouzit, misto toho rucne pracuje s jsnem v Mape misto aby si to namapoval na objekt a kdyz mu na to neco rikam, tak je protivny. Proste to nepobira a nema na to. A pritom hloupy neni. Jsem presvedcen, ze v Pythonu by dokazal programovat lip, protoze je jednodussi.

Nejmenuje se nahodou Petr a neni z Ruska? S jednim s naprosto stejnym problemem jsem pracoval, endpointy testoval tak ze si napsal string presne jak by jej Jackson vygeneroval misto toho aby jej pouzil a nedokazal nejen to pouzit i v beznym kodu kdy mel desitky dalsich endpointu jako vzor.

Re:Základy programování
« Odpověď #107 kdy: 01. 06. 2020, 17:45:12 »
...Delam ted na projektu s jednim skoro dedou, co zacinal jako databazista, a ted dela v Jave. A vstavaji mi vlasy hruzou pokazde, kdyz to prase v tom vidim neco naprogramovat. Neumi si blbec jeden dat dohromady 1+1 a vyrabi shity, ani Jackson si neda dohromady jak pouzit, misto toho rucne pracuje s jsnem v Mape misto aby si to namapoval na objekt a kdyz mu na to neco rikam, tak je protivny. Proste to nepobira a nema na to. A pritom hloupy neni. Jsem presvedcen, ze v Pythonu by dokazal programovat lip, protoze je jednodussi.

Nejmenuje se nahodou Petr a neni z Ruska? S jednim s naprosto stejnym problemem jsem pracoval, endpointy testoval tak ze si napsal string presne jak by jej Jackson vygeneroval misto toho aby jej pouzil a nedokazal nejen to pouzit i v beznym kodu kdy mel desitky dalsich endpointu jako vzor.

Ne, a takovychle lidi bude hromady. Nekteri proste nedokazou ani pochopit, ze kdyz mam na vstupu nejaky json string, a staci mi pracovat s jedinym atributem toho jsonu, tak mi staci si vyrobit model ktery obsahuje ten jediny atrbut a nmapovat si to na ten model. Vsehno je lepsi nez pouzivat v Jave rucne Map.get("key"). Lidi jsou retardovani a neumi si dat 1+1 dohromady.

Re:Základy programování
« Odpověď #108 kdy: 01. 06. 2020, 18:10:52 »
Karel už je out?
IIRC, oficiální nástupce Karla je za peníze a snad dokonce jenom pro Windows (?)

LightBot je takový Karel, akorát hezčí, modernější, jednodušší a zdarma :)

Idris

  • *****
  • 904
    • Zobrazit profil
    • E-mail
Re:Základy programování
« Odpověď #109 kdy: 01. 06. 2020, 18:16:54 »
Karel už je out?
IIRC, oficiální nástupce Karla je za peníze a snad dokonce jenom pro Windows (?)
Pro Karla se vyplatí zprovoznit VM :)


borekz

  • ****
  • 470
    • Zobrazit profil
    • E-mail
Re:Základy programování
« Odpověď #110 kdy: 21. 06. 2020, 07:43:07 »
Robot KAREL 4.2 lze stáhnout zdarma a snad jde spustit ve wine.
Existují i verze online na webu.

Re:Základy programování
« Odpověď #111 kdy: 21. 06. 2020, 11:00:00 »
Dob­rý den jsem stu­dent střed­ní prů­mys­lo­vé ško­ly , z ma­te­ma­ti­ky mám 1. V po­sled­ní do­bě jsem uva­žo­val o za­čát­ku s pro­gra­mo­vá­ním, po­dí­val jsem se na in­ter­net, ja­ký je dob­rý za­čí­na­cí ja­zyk. Do­hra­bal jsem se k Ja­vě ne­bo PHP. Je tu ješ­tě ně­ja­ký ja­zyk, kte­rý bys­te do­po­ru­či­li pro za­čá­teč­ní­ka? (dě­lal jsem ně­co v html, ale to pro­gra­mo­vá­ní ne­ní)
Osob­ně zva­žu­ji za­čít Ja­vou
Dě­ku­ji

To nemáte na průmce předměty o programování?

Pokud zajdu do historie 2006 - 2010 - tak nás na průmce učili pascal, html, c, javascript a nakonec php

Můsím teda říct, že mě ani jeden z těch jazyků v té době nijak nechytil a nechápal jsem jejich využití v reálném životě.

Chci tím říct že je dobré se na programovací jazyk dívat stejným pohledem jako na lidské jazyky. Člověk se učí angličtinu aby mohl jezdit na dovolené a objednat si v restauraci pivo? Nebo se člověk učí angličtinu aby mohl pracovat v Americe ? Proč se člověk vlastně učí angličtinu u nás v české republice kde všichni mezi sebou mluví česky.

S tím souvisí ambice které máš pro to to někam dotáhnout. Pokud se učíš angličtinu jen kvůli testům a proplutí ve škole, daleko se s ní nedostaneš a postupem času zapomeš. Pokud se však učíš angličtinu, aby jsi mohl číst články v angličtině, koukat na filmy v angličtině, psát si s lidmi v angličtině, mluvit s lidmi anglicky, domluvit se na cestách, používat jazyk při práci a škole (erasmus) pak se ti stane nástrojem, který používáš bez přemýšlení.

Programování je na tom úplně stejně, pokud nemáš cíl a vůli někam to dotáhnout, je to ztráta času.

Souhlasím s názorama zde v diskusi, že na tuto otázku by se mělo jít opačným směrem a říct si spíš čeho chci dosáhnout ve svém programování.

Chci psát hry ?
Chci psát automatizaci ?
Chci dělat web ?
Chci dělat appku na android / apple ?
Je to na Windows / Linux ?
Chci mít grafický rozhraní, nebo příkazový řádek ?
Makra pro Excel ?
Chci dělat analýzy / grafy ?
Ovládat roboty ?
Ovládat Raspberry Pi ?
Ovládat arduino ?
Budu po používat já nebo celý svět?

Pokud jsi si jistý cílem čeho chceš skutečně dosáhnout můžeš začít hledat jaké nástroje jsou pro daný problém nejvhodnější. Na to je zde spousty názorů a můžeš začít zkoušet. Další jistotu máš, že pokud chceš začít něčím jednoduchým, většinou to napadlo někoho před tebou a při troše štěstí zanechal na internetu svojí cestu trápení a nalezená řešení.

V počátku bych ignoroval nějakou čistotu kódu, a best practices. Důležitý je, aby si věděl co si napsal a chápal přesně jak to funguje. Postupem času se budeš sám fackovat za špatný kód který si dřív vymyslel protože si zkrátka neviděl vetší obraz a důsledky co to způsobí. To je však v pořádku, je to vývoj.

Počítej s tím, že to budou roky než budeš moct říct že umíš programovat.

Pokud se budeš hlásit o zaměstnání a příjdeš na pohovor s tím co si sám z 0 vymyslel v nějakém jazyku, budeš mít rozhodně větší šanci na úspěch než ten, kdo přijde na pohovor a řekne, že se na škole učil v javě.

Platí zde pravidlo, že pokud umíš jeden jazyk na úrovni toho že si k tomu sedneš a za den nabušíš funkční program bez hledání ničeho. Tak jsi programátor a jazyky jsou jen různé lopaty co právě používáš.

Pro mě konkrétně byla motivace naučit se programovat automatizace mojí práce. Dělám konstruktéra a spoustu rutiních operací co nešli dělat nijak než odklikat, jsem se naučil automatizovat. Z nuly jsem se naučil jazyk (visual basic), který byl pro konkrétní případ nejvhodnější. Nyní už převážně píšu automatizaci pro další firmy které mají stejný problém s rutiními operacemi.

Zde byl efekt programu okamžitý ať byl napsaný čistě nebo bastlení - nad vývojem jsem ztrávil cca 14 dní a ten program dělal práci, která byla na týden za pár sekund. Tu práci děláš tak 10x za rok. Rok 2019 měl 251 pracovních dnů a automatizace ušetřila 50 dní. Ať si lidi říkají co chtějí o jazycích a jejich dobrých a špatných stránkách. Pokud něco vytvoříš z ničeho a funguje to je to pořád lepší než nedělat nic!





ByCzech

  • *****
  • 1 777
    • Zobrazit profil
    • E-mail
Re:Základy programování
« Odpověď #112 kdy: 22. 06. 2020, 00:35:17 »
Každopádně jsem rád, že moje děcka se ty příkazy, ify, smyčky a funkce naučily pěkně po staru v LightBotovi a Scratchi, takže ten experiment s FP jako prvním paradigmatem už na nich nikdo neudělá ani kdyby chtěl ;)
Karel už je out?

Logo je taky fajn. V Linuxu např. jako KTurtle

Re:Základy programování
« Odpověď #113 kdy: 22. 06. 2020, 09:19:03 »
...Pokud se učíš angličtinu jen kvůli testům a proplutí ve škole, daleko se s ní nedostaneš a postupem času zapomeneš. Pokud se však učíš angličtinu, aby jsi mohl číst články v angličtině, koukat na filmy v angličtině, psát si s lidmi v angličtině, mluvit s lidmi anglicky, domluvit se na cestách, používat jazyk při práci a škole (erasmus) pak se ti stane nástrojem, který používáš bez přemýšlení.
Programování je na tom úplně stejně, pokud nemáš cíl a vůli někam to dotáhnout, je to ztráta času.
...
Dělám konstruktéra a spoustu rutinních operací co nešli dělat nijak než odklikat, jsem se naučil automatizovat. Z nuly jsem se naučil jazyk (visual basic), který byl pro konkrétní případ nejvhodnější. Nyní už převážně píšu automatizaci pro další firmy které mají stejný problém s rutinními operacemi....
Naprosto souhlasím. Kdysi jsem si usmyslel, že se naučím stroják a assembler pro 8080. Tak jsem si vzal příčurku a když jsem byl na desáté stránce, zjistil jsem, že už jsem zapomněl co bylo na prvních pěti. Pak jsem potřeboval naprogramovat nějaký testovací program čím jsem nechtěl otravovat pány programátory a metodou pokusu a omylu jsem se to obstojně naučil. Šéf sice vrčel, že se tím zdržuji a on mi potřebuje zadávat jiné práce, ale mně se to pak pár let hodilo. Taky jsem se naučil BASIC (k Visual Basicu jsem už nedospěl), například jsem napsal prográmek co ve výkresu z AutoCADu pod MS DOS vyhledával písmena s diakritikou a překódoval je do kódu co mu rozuměl AutoCAD pod wokny.
Ale za programátora jsem se nepovažoval. BASIC, pokud jsem to zkoušel, si se současnými wokny moc nerozumí, což je škoda. IMHO to byl dobrý jazyk pro neprogramátory.

Re:Základy programování
« Odpověď #114 kdy: 22. 06. 2020, 09:38:20 »
Dob­rý den jsem stu­dent střed­ní prů­mys­lo­vé ško­ly , z ma­te­ma­ti­ky mám 1. V po­sled­ní do­bě jsem uva­žo­val o za­čát­ku s pro­gra­mo­vá­ním, po­dí­val jsem se na in­ter­net, ja­ký je dob­rý za­čí­na­cí ja­zyk. Do­hra­bal jsem se k Ja­vě ne­bo PHP. Je tu ješ­tě ně­ja­ký ja­zyk, kte­rý bys­te do­po­ru­či­li pro za­čá­teč­ní­ka? (dě­lal jsem ně­co v html, ale to pro­gra­mo­vá­ní ne­ní)
Osob­ně zva­žu­ji za­čít Ja­vou
Dě­ku­ji

To nemáte na průmce předměty o programování?

Pokud zajdu do historie 2006 - 2010 - tak nás na průmce učili pascal, html, c, javascript a nakonec php

Můsím teda říct, že mě ani jeden z těch jazyků v té době nijak nechytil a nechápal jsem jejich využití v reálném životě.

Chci tím říct že je dobré se na programovací jazyk dívat stejným pohledem jako na lidské jazyky. Člověk se učí angličtinu aby mohl jezdit na dovolené a objednat si v restauraci pivo? Nebo se člověk učí angličtinu aby mohl pracovat v Americe ? Proč se člověk vlastně učí angličtinu u nás v české republice kde všichni mezi sebou mluví česky.

S tím souvisí ambice které máš pro to to někam dotáhnout. Pokud se učíš angličtinu jen kvůli testům a proplutí ve škole, daleko se s ní nedostaneš a postupem času zapomeš. Pokud se však učíš angličtinu, aby jsi mohl číst články v angličtině, koukat na filmy v angličtině, psát si s lidmi v angličtině, mluvit s lidmi anglicky, domluvit se na cestách, používat jazyk při práci a škole (erasmus) pak se ti stane nástrojem, který používáš bez přemýšlení.

Programování je na tom úplně stejně, pokud nemáš cíl a vůli někam to dotáhnout, je to ztráta času.

Souhlasím s názorama zde v diskusi, že na tuto otázku by se mělo jít opačným směrem a říct si spíš čeho chci dosáhnout ve svém programování.

Chci psát hry ?
Chci psát automatizaci ?
Chci dělat web ?
Chci dělat appku na android / apple ?
Je to na Windows / Linux ?
Chci mít grafický rozhraní, nebo příkazový řádek ?
Makra pro Excel ?
Chci dělat analýzy / grafy ?
Ovládat roboty ?
Ovládat Raspberry Pi ?
Ovládat arduino ?
Budu po používat já nebo celý svět?

Pokud jsi si jistý cílem čeho chceš skutečně dosáhnout můžeš začít hledat jaké nástroje jsou pro daný problém nejvhodnější. Na to je zde spousty názorů a můžeš začít zkoušet. Další jistotu máš, že pokud chceš začít něčím jednoduchým, většinou to napadlo někoho před tebou a při troše štěstí zanechal na internetu svojí cestu trápení a nalezená řešení.

V počátku bych ignoroval nějakou čistotu kódu, a best practices. Důležitý je, aby si věděl co si napsal a chápal přesně jak to funguje. Postupem času se budeš sám fackovat za špatný kód který si dřív vymyslel protože si zkrátka neviděl vetší obraz a důsledky co to způsobí. To je však v pořádku, je to vývoj.

Počítej s tím, že to budou roky než budeš moct říct že umíš programovat.

Pokud se budeš hlásit o zaměstnání a příjdeš na pohovor s tím co si sám z 0 vymyslel v nějakém jazyku, budeš mít rozhodně větší šanci na úspěch než ten, kdo přijde na pohovor a řekne, že se na škole učil v javě.

Platí zde pravidlo, že pokud umíš jeden jazyk na úrovni toho že si k tomu sedneš a za den nabušíš funkční program bez hledání ničeho. Tak jsi programátor a jazyky jsou jen různé lopaty co právě používáš.

Pro mě konkrétně byla motivace naučit se programovat automatizace mojí práce. Dělám konstruktéra a spoustu rutiních operací co nešli dělat nijak než odklikat, jsem se naučil automatizovat. Z nuly jsem se naučil jazyk (visual basic), který byl pro konkrétní případ nejvhodnější. Nyní už převážně píšu automatizaci pro další firmy které mají stejný problém s rutiními operacemi.

Zde byl efekt programu okamžitý ať byl napsaný čistě nebo bastlení - nad vývojem jsem ztrávil cca 14 dní a ten program dělal práci, která byla na týden za pár sekund. Tu práci děláš tak 10x za rok. Rok 2019 měl 251 pracovních dnů a automatizace ušetřila 50 dní. Ať si lidi říkají co chtějí o jazycích a jejich dobrých a špatných stránkách. Pokud něco vytvoříš z ničeho a funguje to je to pořád lepší než nedělat nic!

Mozna je dobre dodat, ze lidi, kteri by presne vedeli, co a kam to chteji dotahnout, moc neni.
A dale, ze to take chce trochu talent. Bez schopnosti reseni problemu (problem solving skill) se muzete ucit syntaxi jak chcete, ale moc toho nenaprogramujete. Nebo resp. nemuzete si pak vybirat, ze chcete programovat dejme tomu hry. Ale budete se muset spokojit s napr.informacnimy systemy.

Re:Základy programování
« Odpověď #115 kdy: 22. 06. 2020, 23:20:53 »
Citace
... BASIC, pokud jsem to zkoušel, si se současnými wokny moc nerozumí, což je škoda. IMHO to byl dobrý jazyk pro neprogramátory.

Mám kamaráda, kterému je dnes už přes 60? Za mlada vyvýjel v BASICU a dnes mu na něm běží celá hospoda. Z windowsu je nešťastný, protože mu pořád hází klacky pod nohy. Má už za těch několik dekád vychytaný celý systém a povedlo se mu do toho napojit i eet :D. Dlouho běžel na XP pak přišlo eet a musel dat 7 protože zastaralý protokol (ssl? tsl?) teď to samé přijde brzo i na W7 :D a neví jak pojedou programy na W10. Jede tedy už jen přes dosbox ...

Re:Základy programování
« Odpověď #116 kdy: 23. 06. 2020, 23:55:32 »
BASIC, pokud jsem to zkoušel, si se současnými wokny moc nerozumí, což je škoda. IMHO to byl dobrý jazyk pro neprogramátory.



Tak samozrejme že QuickBasic určený pre MS-DOS releasnutý niekedy v roku 1989 už na dnešných OS fungovať nebude ale existujú open source alternatívy:

1. QB64 https://www.qb64.org/portal/ - prostredie nápadne pripomína starý dobrý QBasic z čias MS-DOSU.
2. Freebasic: https://www.freebasic.net/
« Poslední změna: 23. 06. 2020, 23:57:21 od fortran1986 »

Re:Základy programování
« Odpověď #117 kdy: 24. 06. 2020, 00:56:31 »
Bez čísel řádků a nutnosti používat GOTO už to není ten správný Basic.  ;D

Re:Základy programování
« Odpověď #118 kdy: 24. 06. 2020, 14:40:52 »
Bez čísel řádků a nutnosti používat GOTO už to není ten správný Basic.  ;D

Kludne si tie riadky môžte aj očíslovať - podporuje to aj čísla riadkov (ale v novších veriziách viete čísla nahradiť textovým identifikátorom návestia s dvojbodkou). Podporuje to aj goto prípadne gosub return (kôli spatnej kompatibilite) akurát už 30 rokov sa v basicu preferujú procedúry (SUB) a funkcie (FUNCTION), ale kto chce môže programovať aj po starom. Ak máte zdroják na nejakú hru pre Atari / Commodore tak s pár úpravami ju dokážete preniesť aj do QB64.

Nebojte sa aj QB64 je tiež plný prekvapení, ktoré by ste v inom jazyku hľadali len márne a pri ktorých si budete klásť otázky ako "WTF" alebo "OMG". Napríklad procedúru musíte volať bez zátvoriek ale funkciu so zátvorkami. Jazyk nerozlišuje medzi operátorom priradenia a operátorom porovnávania. Namiesto exceptions sa tam používajú skoky na návestia "On Error GoTo nejakeNavestie", indexovanie polí má rovnakú syntax ako  volanie funkcií. Otváranie súboru sa nerobí knižničnou funkciou ale príkazom ktorý je súčasťou jazyka a ktorý má inú syntax ako volanie funkcií, Alebo do pamate viete zapisovať priamo príkazom POKE ktorému len predáte adresu v pamati a hodnotu ktorú na tú adresu chcete zapísať z Basicu viete volať priamo strojový kód (CALL ABSOLUTE). atd atď.