Díval jsem se na ten blog a vidím tam příklad kódu v C, kde je "menší nebo rovno" vyjádřeno jedním znakem. Nejdřív jsem si řekl, že to překombinovali manažeři, ale pak vidím, že nový font pro ten terminál má nabízet "programming ligatures", čili "slitky" - snad to nebude něco, co rozbije kompatibilitu...
Např. IntelliJ Idea umí ligatury zobrazovat a vypadá to dobře.
Vůbec, i když tohle nepovažuju za relevantní argument. Co je nepochopitelného na tom, že když (občas) otevřu zdroják ve VHDL, nechci místo
pwm_switch <='1' when ((id_type = "0011") or (id_type = "0100")) else '0';
(tj. nastav signál na 1, pokud id_type je 0011b nebo 0100b) vidět
pwm_switch ≤ '1' when ((id_type = "0011") or (id_type = "0100")) else '0';?
Ty ligatury fungují v některých programovacích jazycích „docela dobře“ a v jiných „úplně blbě“.
Myslel jsem si to. Takže jste to sice nikdy neviděl, ale víte, že je to určitě špatně.
Pokud vám v některých případech ligatury nevyhovují, tak je v těch případech prostě nepoužívejte. Pokud se to týká jednoho konkrétního jazyka, tím lepší, bude jednoduché to nakonfigurovat.
Ale aspoň už jste dospěl od toho, že je to pitomost, k tomu, že to může fungovat docela dobře. Myslím, že je to úspěch.
@Filip Jirsak Myslel jsem si to. Takže jste to sice nikdy neviděl, ale víte, že je to určitě špatně.
taky sem nikdy nevidel a nezkusil auto s volantem pod sedackou nebo nejedl smazene psi lejno , presto vim ze je to vse spatne, nevhodne ci nechutne... stejne tak ja (i ostatni) muzou povazovat i bez vyzkouseni ze slouceni nekolika znaku v kodu co napisu v jeden jinej je ujetej napad... a srovnavat to s ctenim souboru filesystemem nebo interpretaci UTF-8 je jeste ujetejsi, uvedom si ze tam plati co napisu (a jakkoliv se ulozi) pri otevreni vidim totozne jako sem napsal
@k3dAR:
„Jak vzniká vynález? To všichni vědí, že je něco nemožné, a pak se objeví nějaký blázen, který neví, že je to nemožné, a udělá vynález.“ – Albert Einstein
Každopádně pokud je v diskusi několik lidí, kteří to vyzkoušeli, považují to za užitečné a dál to používají, a proti nim několik lidí, kteří to nikdy ani nevyzkoušeli ale tvrdí, že to nemůže fungovat, věřil bych těm prvním.
srovnavat to s ctenim souboru filesystemem nebo interpretaci UTF-8 je jeste ujetejsi, uvedom si ze tam plati co napisu (a jakkoliv se ulozi) pri otevreni vidim totozne jako sem napsal
Nic ujetého na tom není, protože i v případě ligatur platí, že co napíšu (a jakkoliv se uloží) při otevření vidím totožně jako jsem napsal.
s tim Albertem je to DOST trrapne, nebo snad myslis ze by povazoval za dobrej napad mit v aute volant pod sedackou?
je potreba rozlisit dobrej(i presto ze vsichni rikaji ze to vymyslel blazen) a spatnej napad(i presto ze vsichni rikaji ze to vymyslel blazen) napad... kdyz mi sem napise 5 lidi ze jim chutna smazene lejno, tak me to take nepresvedci abych zmenil nazor ze smazene lejno ktere sem neochutnal muze bejt dobrej napad.
Ten citát ale neříká to, že každý špatný nápad je ve skutečnosti dobrý nápad. Říká jenom to, že i to, co někdo považuje za špatný nápad, ve skutečnosti může být nápad dobrý.
Rozlišovat mezi dobrým a špatným nápadem se dá pomocí argumentů. Například argument proti volantu pod sedačkou je jednoduchý – řidič potřebuje ovládat volant rukama a zároveň potřebuje vidět na cestu před sebou. To není s volantem pod sedačkou splnitelné.
Proti ligaturám tu zazněl argument, že se budou ligatury špatně rozeznávat – budou se s něčím plést. Ovšem ten argument byl jenom teoretický, nebyly tu konkrétní příklady, co s čím by se mělo plést. A ozvali se minimálně dva lidé, kteří ligatury používají a s ničím se jim nepletou – já jsem dokonce napsal, že mi kód s ligaturami připadá o něco čitelnější. Tím je ten argument o špatném rozlišování podle mne vyvrácen.
Samozřejmě pro svůj názor, že ligatury v programátorských fontech jsou špatně, nemusíte mít žádné argumenty. Klidně si to myslete jenom na základě svého silného pocitu a argumenty ignorujte – mně je to jedno. Ale počítejte s tím, že váš silný pocit nikoho nepřesvědčí.
aby nedoslo k nedorozumenni, ja nerikam ze je to obecne spatnej napad, chapu ze to nekomu muze pripadat jako dobrej napad i ze to uvita a pouziva, primarne sem rozporoval to, ze pokud nekdo takovej nazor nezastava, NEmel by byt "napadan" za to ze to nevyzkousel, protoze jsou proste veci (a tato k nim patri) o kterych je mozny udelat racionalni nazor i bez vyzkouseni...
druha vec je, ze dokud dana vlastnost jde vypnout, neni se v postate o cem bavit, kazdej se podle sebe rozhodne a podle toho ji vypne/zapne...
Nikdo netvrdil, že všechno nové je dobré. Akorát pokud někdo to nové ani nevyzkouší ani nemá žádné racionální argumenty proti, je hloupé o tom psát, že je to pitomost. Že to někomu osobně nevyhovuje, to je jiná věc – a nepotřebuju k tomu slyšet žádné argumenty, prostě se dotyčný nějak rozhodl, že to není pro něj, a já to rozhodnutí respektuju.
Co je znak je arbitrární rozhodnutí. Je „č“ jeden znak nebo dva znaky? S Unicode si můžete vybrat. Když to „č“ napíšete jako jeden znak Unicode, v kódování UTF-8 se to zapíše jako dva bajty. Co když si vymyslím kódování, které bud používat osmibitové znaky, ale řeknu, že pro posloupnost znaků 0xC4 0x8D se bude používat ligatura „č“. A stejně nadefinuju i všechny ostatní znaky, které se v UTF-8 kódují více bajty. Zobrazení textu v tomto kódování bude ekvivalentní UTF-8, ale bude tam spousta ligatur. Podle vás to bude najednou špatně?
Všechny rozumné programovací jazyky mají nadefinované nějaké operátory, třeba operátor pro „nerovná se“, „menší nebo rovno“ atd. Zároveň definují, jak má být takový operátor zapsán pomocí nějakého kódování, aby ho kompilátor jako příslušný operátor rozpoznal. Ale nikde není definováno, jak se ten operátor má zobrazovat programátorovi. Důležité je, že je to operátor „nerovná se“, aby programátor poznal, o jaký jde operátor, a to je vše. Proč by se to mělo zobrazovat jako dva znaky? Vždyť ani nepoznáte, co je jeden znak a co dva znaky – jsou písma, kde kolem některých symbolů nejsou žádné okraje. Takže třeba když napíšete dvě „=“ vedle sebe, nebudou mezi sebou mít žádnou mezeru a bude to vypadat jako jedno dlouhé rovná se. Je to jeden znak nebo dva znaky?
Vetsina IDE, ale i neIDE SW reaguje v ramci kontextu resp. v jakem zdrojaku se pohybuje. Treba zmineny IntelliJ umi v ramci jednoho projektu rozeznavat spoustu typu souboru. Neznamena ze pokud mam projekt treba v C++, tak se mi v nem IDE nebude snazit udelat C++ highlight treba v YAML konfiguraci.
Stejne to muze byt v pripade VHDL, kdy se Vam muze ve Vasem pripade misto ≤ zobrazit treba nebo .
Navic se vsadim ze minimalne v IntelliJ pujdou ty jednotlive znaky dokonce prenastavit, takze si tam pro prirazeni/"mensi nebo rovno" muzete dat treba kosoctverec.
A nebo jako zminil Filip Jirsak ... proste to vypnout :)
Nevím, jaký používáte pro programování font, ale ve Fira Code je ligatura pro „==“ lehce zaměnitelná s „=“ pouze pro slepé. Při mém současném nastavení má „=“ délku 5 pixelů, „==“ má délku 12 pixelů. Mně se kód s ligaturami čte naopak o něco lépe, než bez nich, protože to mozek hned na první pohled vnímá jako jiný symbol.
To byste se musel naučit číst rovnou ty magnetické stopy z disku. Jakmile si soubor zobrazíte, je to interpretace toho souboru nějakým rendererem. Pokud ten soubor máte v UTF-8, musí interpretovat, že dané dva bajty se mají zobrazit jako jeden znak (třeba „č“). I ASCII znaky je potřeba interpretovat jako ASCII.
Proč vám tolik záleží na renderovacím mechanismu nechápu, pro mne je u kódu důležité to, aby byl co nejlépe čitelný. A pro mne používané ligatury čitelnost o trochu zlepšují.
Treba PhpStorm (postaveny na IntelliJ) umi krasne prevadet HTML entity na ligatury. Pokud na ni najedu kurzorem, rozlozi se zpet na HTML entitu. Omlouvam se ale pokud vidim v HTML nejaky staticky napis, radeji uvidim ze je tam spravna entita, nez abych si googlil, co je to za entitu a jaky znak reprezentuje.
Uvidite radeji & #8656 ;(mezery tam jsou schvalne)? ................................................................. Nebo ⇐? Navic ligatury treba v HTML jsou v PhpStormu jeste podbarvene aby clovek poznal ze je tam neco jinak, takze i kdyz do HTML vlozim primo dany znak a hned vedle entitu, co se prekresli na dany znak, rozdil poznam.
10. 5. 2019, 06:37 editováno autorem komentáře
Relativně použitelnou příkazovu řádku umí z cmd.exe a výchozího "terminálu" windows udělat projekt Clink (https://mridgers.github.io/clink/). Doporučuji instalovat přes chocolatey.
Funguje pak doplňování přes tab i historie příkazů, skoro jak je člověk zvyklý z linuxu. V kombinaci s cygwin či podobným je pak iluze použitelné příkazové řádky téměř reálná. :-)
Doporučuji vám přečíst si odkazovaný blog, kde na to proč nevyužili existující SW odpovídají, viz:
Okay, but what about contributing to an existing open source terminal/app project instead?
We carefully explored this option during planning and determined our involvement in an existing project would require changing the project’s requirements and architecture in ways that would be too disruptive.
Instead, by creating a new open-source terminal application, and open-sourcing Windows Console, we can now invite the community to collaborate with us on improving the code and leveraging it in their respective projects.
We believe there is plenty of room in the market for new/different ideas about what a terminal can and should do and we aim to help the ecosystem of terminal (and related) applications flourish and grow through the introduction of new ideas, interesting approaches, and exciting innovations in this space.
To máš tak, když někdo tvrdí, že diverzita distribucí linuxu, DE a SW na něm je ke škodě věci, že je to tříštění sil a mrhání zdroji, že by to chtělo sjednotit, tak někteří piští, že je to tak v pořádku, že si každý ve svém volnu a za svoje peníze může dělat co chce. A když Microsoft za své peníze něco vytvoří a vydá to jako open source, tak je to špatně, protože tím tříští síly a mrhá zdroji.
jak muzes vedet ze hlasy o tom ze to bylo zbytecne nepochazi od stejne skupiny co nadava na tristeni sil?
ja treba jsem zastancem toho ze tristeni sil v GNU/Linuxu neexistuje, ze jde ve zkutecnosti o nasobeni sil, ze lide co by jim bylo "zakazano" pracovat na alternative by se k tomu "zvolenemu jedinemu spravnemu" vyvoji stejne nepridali, a naopak ze moznost udelat fork a/nebo prijit s alternativou ze zelene louky pritahne dalsi a dalsi vyvojare, kteri chteji implemetnovat svoji vizi a po svem, zaroven z toho muze vzejit kod/napady/reseni ktere zpetne implementuji ostatni...
z podobneho duvodu nevidim problem, kdyz Microsoft udelal svuj vlastni Terminal na zelene louce, pokud bych byl uzivatel Windows urcite bych ho uvital protoze na prvni pohled vypada rozumne a rozhodne 1000x lepe nez to co ve Windows bylo (nativne) do ted...