Obcas Python pouzivam, ale jen pro jednoduche utility. Problem Pythonu (jazyka) spatruji osobne mimo jine hlavne pro:1. dynamicky typovy system. (jsou tam type hints, ale to neni dostacujici). Uz tento bod samotny diskvalifikuje Python pro seriozni pouziti.2. neprehlednost. Pradoxne pro me je python neprehledny. Struktura kodu je urcena znakem, ktery neni videt. Vazne?3. OOP: Dost podivna syntax deklaraci metod. Vazne porad musim uvadet 'self', proc?4. kompatibilita. Musim mit nainstalovan Python 2.7 a nekolik verzi 3.x. protoze potrebuju kod (nektery legacy), ktery vyzaduje ruzne verze.5. GIL. Sice neni inherentni soucast jazyka, ale pravdepodobne se s tim vyvojar setka.Problem ekosystemu:6. kompatibilita. Kdykoliv musim pouzivat nejaky 3rd party kod v Pythonu, obrnim se trpelivosti a cekam, zda to nejakym zazrakem bude fungovat nebo budu muset hledat knihovny, ktere jsou kompatibilni.7. Existuje velke mnozstvi ruznych knihoven, vice ci mene kvalitnich. Krome velkych knihoven (numpy, pandan, ktere jsou kvalitni, ale casto proto, ze jadro je napsano v jinem jazyce) jsem se setkal bohuzel se spise nekvalitnimi mensimi knihovami. Chvili jsem nadaval a pak jsem danou ulohu prepsal do C++, funguje to rychleji a spolehliveji.
Python v Jupyter a Google Colab je vcelku super nástroj pre neprogramátorov tzv interactive computing. Točia 2-3 línie dokola dokiaľ nemajú potrebné výsledky. Nepotrebujú riešiť obsadenie, uvoľňovanie pamäte, prístupy k hw.... Však načo.
Python má zvláštní mentalitu. Spousta věcí se tam jmenuje stejně jako v C nebo jiných jazicích, ale fungujou trochu jinak. Když si ale na to člověk zvykne, tak tam lze udělat úplně všechno snadno a rychle. Trochu mi vadí horší integrace v Androidu. Zlatej Python pro Symbian OS.
Používam Python v Termuxe a nesťažujem si.
Jak třeba otevřeš pdf soubor v přidružený aplikacaci na kartě nebo v interní paměti? Ve Windows/Linuxu je záležitost na jeden řádek v Androidu téměř nemožný.
termux-open subor.pdfNiet za čo.
Tohle asi nepůjde naroubovat na Beeware.
Netuším, čo to je, takže neviem povedať. A neviem ani, čo je "naroubovat" v tomto kontexte. Možno áno, možno nie.E: Ale pozriem si ten Beeware, vyzerá to zaujímavo. Ďakujem za tip.
Názor byl 2× upraven, naposled 8. 12. 2024 20:20
Je to uplně obyčejný skriptovací jazyk, kterých podobných je spousta. Ta zvláštní mentalita, proč Python všichni používají a myslí si, že je to nejlepší jazyk pro začátečníky (což není), je v hlavách lidí, je to nějaký trend, pro mě nepochopitelný, něco jako móda :)Navíc Python není ani rychlý, ani se nijak zvlášť dobře nepíše. Já třeba nesnáším odsazování scope od začátku řádku, tak se Pythonu vyhýbám.
Názor byl 1× upraven, naposled 8. 12. 2024 09:10
Už dlhšie zvažujem, že sa pustím do Python práve preto, že všade čítam že je vhodný pre začiatočníkov. Mám iba malé skúsenosti v VBA. Tak čo odporučíte pre začiatočníka?
Tak jelikož všichni ten Python jako začátečníci používají, tak je to pak těžké, protože ta silná komunita a miliarda příkladů pak všechno přebije :). Ale můj oblíbený skriptovací jazyk, který je extrémně jednoduchý a vhodný pro začátečníky je LUA (a oproti Pythonu je velice rychlý). To je podle mě jazyk, který už jednodušší ani být nemůže. Bohužel ale nemá tak velkou komunitu jako Python. Ale díky ChatGPT by to v dnešní době nemusel být takový problém.
Názor byl 3× upraven, naposled 8. 12. 2024 09:36
Primární "selling-point" Pythonu je nepřeberné množství knihoven pro data-science, vědecké výpočty, vizualizaci dat, ML a podobně. Ty knihovny už "pod pokličkou" obsahují kód v C / C++, takže jedou krásně rychle. Některé z nich mají svůj prapůvod možné ještě ve FORTRANu.Dlouho jsem se na nějaký rychlý skriptování snažil najít náhradu za Python, ale nikdy z toho nebylo nic, co by mi vyvážilo ten obří ekosystém okolo Pythonu.
php a zkoušet to na interním serveru php s sqlite rozšířením nebo to zkoušet na apache + php s sqlite rozšířením.Co se týče skriptování ve Windows tak Autoit.Něco jde zvládnout i v javascriptu přímo v htm souboru a spouštět v prohlížeči.
Tohle vsechno rozjet da moc namahy a u zacatecnika prakticky neproveditelne.
Rozjet? Námahy?AutoitAutoit = člověk stáhne instalačku Autoitu a Scite, obojí z webu Autoitu, nainstaluje (defaultně třeba) a má připravené prostředí. Píše ve Scite. Spuštění Nástroje / Spustit (nebo F5). Kompilace do exe Nástroje / Kompilovat (nebo CTRL + F7). Nápověda výborná i pro začátečníky. Ahoj světe:MsgBox(0,"","Ahoj, světe")PHPphp.exe + php8.dll + pár dalších knihoven podle potřeby + php.ini + server.cmd, cmd 2 řádky, ini pár řádků podle potřeby. Vše naprosto triviální. Server se spustí pomocí server.cmd (zavře se zavřením okna) ... kod se píše třeba v Notepad++...Neproveditelné? Pro začátečníka nejlepší volba. Když jsem kdysi začínal a potřeboval jsem jako začátečník něco skriptovat a chtěl jsem něco, co je pro začátečníka nejlíp použitelné, tak je to toto. Je to naprosto intuitivní. Ne jak nějaký python nebo cokoliv jiného. Jako když už bych se měl snažit (to v případě Autoitu a PHP ani člověk nemusí), tak bych se chtěl snažit něco udělat třeba v .NET 9, nějakou okenní aplikaci, škoda že místo pythonu živě nebude dělat články na .NET
Neni to móda, ale neuvěřitelnej poměr námaha/výkon. Python má knihovny na všechno. Umožnuje psát procedurálně i objektově, spoustu věcí řeší za uživatele. Je vhodná pro lidi co potřebujou vytvářet programy a ne se ... jak to slušně říct, párat se syntaxí. U spousty programovacích jazyků potřebuje člověk na rozeběhnutí "hello word" druhou vysokou. Tady stačí notepad (u mě je PSPad).
"Navíc Python není ani rychlý, ani se nijak zvlášť dobře nepíše"Popracovali na zrýchlení pythonu, od verze 3.11 je už výkon dosť slušný. Naviac dosť knižníc sú len user friendly fasády C-čkové a fortranové knižnice a frameworky. Takže ak viete, čo a ako, dajú sa aj rýchle programy pod tým písať. Ako stále bude bežať rýchlejšie vec napísaná v c-čku alebo v Jave, ale už ten python je fakt slušný. Jedine, čo mi vadí, že musím používať multiprocessing miesto multithreadingu, keď chcem paralelný chod, ale aj to sa dá prekúsnuť.
Python je pomalý už dvacet let. Kdykoliv jsem ho zkusil byl zhruba dvakrát pomalejší než Perl. Zkusit native překlad s GraalVM by mohlo pomoci.
Jsem opačného názoru nez ostatní diskutující. Python je prave pro neprogramatory, takze clanek dava smysl. Bohuzel jsem se zivil nekolik let jako python vyvojar (nechal jsem se ukecat… dobra pozice a pohadkovy plat) a je to opravdu o tom napsat si treba script do HA na ovladani manzelky robertka nebo nejakou trivialni servisu, ale cokoliv vetsiho je peklo. Vetsiho myslim jakoze to vyrabi nekolik vyvojaru několik mesicu, coz je normalni prace.
Dělal jsem pár menších skriptů v pythonu pro specializovaný program GIS stíny a další věci, které software neuměl a bylo to vývojářské peklo. Dělal jsem to v podobném jednoduchém vestavěném user interface programu, intelisence žádná (nutné otevřít si api docs programu), drag&drop označeného textu nefungoval, psal jsem to ve visual studio code a pak nakopíroval ke kompilaci (program GISu si to sám zkompiloval). Chat-GPT nepomáhal - házel polo-vymyšlené názvy funkcí nebo dost zastaralé funkce. Plus v pythonu jsem moc neuměl, jsem spíš na c# apod., python byl pro mě takový zvláštně zjednodušený javascript.
Názor byl 1× upraven, naposled 7. 12. 2024 22:50
U chatgpt obecně pomáhá mu prostě napsat, že to nefunguje nebo mu tam kopírovat chybové hlášky, někdy se to zvládne opravit. Je i možné, že věci v různých verzích fungovaly jinak nebo se měnily názvy a pak se tím chytne verze, která odpovídá lépe.
Já v tom nedělám, akorát párkrát jsem v tom něco upravil, když jsme něco zkoušeli. S chatgpt jsem v tom napsal jednoduchý http server, co nějak zpracoval požadavek. Nicméně mám na to podobný názor, lidi v tom asi rychle něco napíší, ale na nějaké větší projekty, co budete rozvíjet dalších 10+ let, mi to moc nepřijde.Navíc mě docela vytáčí jazyky, kde je funkčnost daná tím, jaké se o kus dál použije odsazení. Co jsem pochopil, tak třeba definice funkce vypadá tak, že se napíše def xxx a na další řádky tělo. Pak je buď další definice nebo se prostě přestane odsazovat a to se bere jako kód za tou funkcí. Podobně třeba s cykly.Nebo někdo řešil, jak se dělají blokové komentáře. Tak jsme našli, že se z toho vlastně udělá string (přes """) a tak se to přestane brát jako kód, problem solved. WTF?Tenhle jazyk mi přijde jako současná móda a je kolem toho šílený hype. Vzpomínám si, jak o tom někdo četl někdy na začátku století a od té doby jsem o tom snad prakticky neslyšel. Před pár lety se začala ve velkém zmiňovat AI, možná ještě něco předtím (asi data science a machine learning) a pak se o tom zase začalo takhle víc mluvit a "všichni" to používají. Nevím pořádně proč, má to nějaké knihovny (teď třeba i na ty AI věci), ale to existuje i pro jiné jazyky (ty python knihovny budou kolikrát stejně akorát wrapper třeba kolem něčeho nativního).Zkusil jsem to hodit do chatgpt, mezi důvody oblíbenosti to píše kromě jiného jednoduchost učení, multiplatformost, dynamic typing and rapid development, integrace s dalšími jazyky. Takže jo, rychle se v tom něco nabouchá a máme to. Ale kdo to bude udržovat a přidávat tam další věci...
No radšej odsadenie kódu ako otváracie zátvorky niekde na konci riadku. Áno viem na čo je to dobré, ale pre mňa neprehľadné.
No u těch jazyků s Céčkovou syntaxi máte otevírací a zavírací závorky, ty otevírací se píší buď na konec řádku nebo samostatně (což se mi popravdě líbí méně)Odsazení se tam normálně používá taky, ale nemá žádný význam z hlediska funkčnosti, je to akorát pro přehlednost.
Názor byl 1× upraven, naposled 8. 12. 2024 11:27
Čo je tam také zlé napríklad narozdiel od Javy? Dosť dlho som kódil v Jave a som amatérsky Pythonista. A viem, že v Jave som robil veľké projekty. Preto sa tak hlúpo pýtam.
Názor byl 1× upraven, naposled 7. 12. 2024 23:02
Python je skriptovací jazyk jako jakýkoli jiný. Když znáte dobře datové struktury, algoritmy a designové patterny, tak se dá v Pythonu psát velký projekt uplně normálně. Samozřejmě to klade na znalosti a disciplínu programátorů větší nároky, když se tam dá psát všechno milion způsoby, ale od toho jsou zase vyšší frameworky, aby tam tu strukturu, co se má dodržovat u velkých projektů, přidaly.
To že vývojářské nástroje nebývá tak triviální zprovoznit má svůj důvod. Jsou to nástroje pro programátory a ne pro běžné uživatele. Jakmile někdo programuje v Pythonu, tak už je minimálně programátor začátečník. Programování v pythonu pro neprogramátory moc nechápu.
Mohli byste ještě napsat článek na pilotování letadla pro nepiloty. Ten bych si moc rád přečetl.
Názor byl 1× upraven, naposled 7. 12. 2024 20:49
Dnes si skript s pomocí AI dokáže připravit a odladit úplně každý. Můžeme se vůči tomu ohrazovat, ale stejně to k ničemu nebude. Za poslední dva roky se kódování změnilo tak jak nikdy před tím. A protože vývojářská prostředí a další nástroje na tento trend zatím nenaskočily, má smysl tyto věci vysvětlovat.
“připravit a odladit úplně každý” - zeptam se babci a dam vedet. Kodovani nebo programovani?
Python sa používa aj napríklad na výuku programovania. Tam sa učia veci typu "hello word" alebo "nakresli stenu z tehličiek". Na raspberry pi os je preto python hneď v základnej inštalácii. Ale dosť veľa detí má windows 11.
Pardon, ale instalace Visual Studia spočívá v tom, vědět, v jakém jazyce budu programovat. Přitom jde o jedno z nejlepších, ne-li úplně nejlepší prostředí pro vývoj. A zprovoznění triviální je.Já spíš nechápu tu oblibu Pythonu, jazyka, kde člověk musí řešit, kolik mezer kde udělal.
Python je pro to domácí scriptování něco jako Ubuntu. Asi to není nejlepší jazyk, ale už pro něj existuje hromada hotových příkladů pro různé možnoste použití. Navíc má velkou komunitu, takže začátečník snadno najde nějakou radu.A rozšířil se mj. proto, že jej můžou celkem jednoduše používat i ti, co jinak nemají žádné ambice programovat. Nepotřebujou nic kompilovat, instalovat IDE, stačí jim Notepad, kam zkopírují kód z nějakého webu nebo tutoriálu a upraví si jej, protože je rozumně čitelný a pochopitelný. Jakmile Python potřebuje nějaké další knihovny, jednoduše se doinstalují pomocí PIP. Komunita okolo AI taky přijala Python jako hlavní jazyk.
To se dá říct prakticky o každém skriptovacím jazyku. Python není nijak výjimečný v ničem, jen prostě je hodně používaný. Mě třeba přijde Lua mnohokrát lepší pro začátečníky než Python, ale Python je z nějakého nepochopitelného důvodu oblíbený.
"Python není nijak výjimečný v ničem, jen prostě je hodně používaný" Tady si právě protiřečíte. To, že se začal tak hodně používat, z něj dělá něco výjimečného. Začátečníka nebude zajímat, že to není nejlepší nebo nejefektivnější jazyk, ale že se jeho prostřednictvím spíš dobere k výsledku. Protože mu s tím pravděpodobně pomůže komunita, případně už někdo stejný problém řešil před ním.
Mac:brew install pythonDebian:sudo apt-get install pythonHotovoFakt treba o tom článok na 6 strán?
Názor byl 1× upraven, naposled 7. 12. 2024 18:58
1. Šest stran není o instalaci Pythonu, ale i o prvních krocích, co s ním pak dělat.2. Na Macu je jednodušší stáhnout a nainstalovat PKG z Python.org, protože ten začátečník, na kterého článek cílí, nebude mít nainstalovaný Homebrew. A instalace Homebrew taky není úplně triviální, protože zrovna tam se musí v dalším kroku nastavovat ten PATH, na který Kuba upozorňuje v článku.
Zjistil jsem, že na Macu je to ještě trochu složitější, včera jsem kvůli tomu strávil dost dlouho laděním. Skript v Pythonu volám Automatorem, abych ho mohl jednoduše pouštět na vybraných souborech. Jenže Automator používá systémový Python (/usr/bin/python3), kde jsem neměl jednu knihovnu v aktuální verzi. Když jsem skript pouštěl ručně přes Terminál a Python, který jsem sám nainstaloval, všechno fungovalo. Ale když ho měl vyvolat Automator, nešlo to – až po aktualizaci knihovny. Tak si vzpomeň, kdyby ses podobně zasekl.
A byl tam vůbec Python 3? Apple měl dlouhé roky v macOS přibalený nepodporovaný Python 2.7, i když už byla trojka. (Nevím, jak je to u čistých instalací macOS 15 Sequoia, ke které ses dostal ty.)
Teď už tam je python3.
Mám dotaz: Čeká mě doučování neteře Pythonu. A zrovna má nešťastnej Macbook. Je potřeba tam ten Python instalovat, když už ta, je? Dík.
Raději jsem to konzultoval s Claudem :) „Takže jsem nemusel instalovat vlastní Python a dal se používat ten vestavěný v systému?“Ano, přesně tak. Pro tento konkrétní účel by stačilo použít systémový Python (/usr/bin/python3). Nicméně mít vlastní Python prostředí (např. přes Homebrew) je obecně dobrá praxe pro vývoj, protože:– Máte kontrolu nad verzí Pythonu– Můžete mít různé verze pro různé projekty– Nehrozí konflikt se systémovými knihovnami– Systémový Python se může změnit s aktualizací macOSAle pro jednoduchý skript jako je tento, který bude vždy spouštěn přes Automator, je systémový Python naprosto dostačující.
A mj. proto nepouzivame "pip install requests" ale "python -m pip install requests" - to zajisti, ze se knihovna nainstaluje do spravne verze interpreteru a ne do toho, o kterem si system mysli, ze patri k nainstalovane verzi programu pip.Stalo by mozna za opravu v clanku...
Josef Junior Remen 😄😄😄
S Pythonom som sa za 30 rokov praxe stretol iba párkrát, a to najmä v prípadoch, keď bolo treba použiť nejaký nástroj, ktorý bol napísaný v Pythone.Skúsenosť s inštaláciou bola veľmi zlá, takže som rád, že článok v podstate potvrdzuje, že to asi nie je také triviálne. Áno, môžeme si tu písať, aké je to jednoduché – že stačí spustiť X, Y, Z príkaz po sebe – ale realita je často úplne iná. Problémy často spôsobí už len to, že operačný systém alebo nejaký iný program má Python nainštalovaný v inej verzii, než aká je potrebná pre daný nástroj. Nehovoriac o nastavení PATH, PIP, rôznych nekompatibilných knižniciach a podobne.Naposledy som radšej stiahol Docker, pretože rozbehať a spustiť nástroj napísaný v Pythone bola nočná mora.Nerozumiem celkom jeho popularite – možno je to naozaj tým, že pre mnohých ľudí je momentálne prvou voľbou a vedia sa v ňom orientovať. Ja osobne sa Pythonu vyhýbam a stále si myslím, že na školách by sa mal učiť iný jazyk, nie Python.Každopádne, ak to funguje pre neprogramátorov alebo vedcov na ich účely, je to fajn, ale na väčší projekt určite nie.
Je to tak, ale on neni programator a nikdy neresil vic verzi najednou a vic knihoven a služeb. Ja bych treba autorovi poradil at napise posledni kapitolu: “Tak a ted si rekneme, ze to co jsme si ukazali delaj jen hobbyci a ti co ci to opravdu pouzivaji to maji v containerech”…
Python je super "náčrtový" jazyk, který člověka ve fázi vývoje nezatěžuje ničím čím by sám nechtěl."Hele lidi, fakt myslíte že by to tak šlo?" zeptá se vedoucí projektu.No tak "lidi" bafnou Python, za tři dny nadrásají funkční model, se kterým by se např. v céčku patlali měsíc, a: "jo, hele, jde to.""No tak to vezmem a rozepíšem v něčem pořádným."No a na Lin je Python instalovaný nativně, nezřídka dokonce obě vývojové větve (2 i 3) pospolu, takže jde užít i tuny knihoven ze starších časů aniž by se musely přepisovat.
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.