Diskuze: Mrkvosoft a jeho vydírání?
Člen
Zobrazeno 36 zpráv z 36.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
"Obrovské zklamání policista zažil, když zjistil, že všechny servery běží na Linuxu. Vzhledem k tomu, že jej dokázaly znervóznit situace, jako když se nezobrazí po vložení flashdisku okno s tlačítkem pro spuštění Průzkumníku (aby se dostal ke svému kouzelnému programu), asi by s Linuxem nic nesvedl."
Je obecně známo, že se na legálnost MS Office příliš nedbá, tady se nedivím Microsoftu, že se snaží pirátství potírat. Pokud je článek pravdivý, je opravdu k zamyšlení, jak jsou v našem státě nastaveny zákony, to je ale však bohužel již nějakou dobu známo, viz kauzy s kinoripem Simpsnů a podobně.
Článek je postavený tak, jako by měl Microsoft svůj SWAT oddíl, co přepadává firmy. To mně osobně přijde dost přehnané, i když člověk nikdy neví
Vidím, že Windows opravdu nemá smysl používat. Člověk si tím zadělává na problémy, které nezavinil.
Ubuntu nedávno vyšlo nové, doporučuji. Má podporu na dalších 5 let.
Pokud nepotřebuješ nic vyvíjet pro C#, tak asi nebudeš potřebovat ani Windows. No jo, možná ještě pár her, ale těch je v Ubuntu také dost.
Včera jsem zkoušel novou Fedoru 17. Ovšem Ubuntu je pro mě v ovládání přívětivější. Používal jsem rozhraní Gnome. Jak je to s nadstavbou Unity? Co používáš?
Když vezmu co používám a přiřadím možné ekvivalenty v Linuxu. Mohl bys mi doporučit ze své strany s čím máš zkušenosti a co preferuješ?
Dotaz:
Rád bych na tyto programy, které využívám každý den nepoužíval virtualizaci ve VirtualBoxu. Mít spuštěné dva systémy v jednom mi přijde jako nesmysl, pokud nepotřebuji něco jen "odzkoušet". Proto bych rád našel linuxácké ekvivalenty.
Notepad-> Geany- rychlý spolehlivý, umí toho hodně.
Podpora karet je horší, ale již je na netu mnoho řešení. Například zde http://forum.ubuntu.cz/index.php?… čí přímo na askubuntu http://askubuntu.com/…in-12-04-lts
FTP jde namountovat jako oddíl automaticky po startu. Nautilus tohle dobře ovládá.
S uspáním néni problém, s probouzením také ne. U mně je problém jen se Skypem. Pokud zůstane spuštěn pří uspávání tak při probouzení pořád hrabe na disk. Možná by to vyřešil nová verze Skypu. Hibernace je oproti woknám pomalejší. Ale funguje bezproblémů.
Na editory se ještě podívám podrobněji.
Díky za návod na grafiky
S FTP jsem to tedy ještě nezapomněl
Co se týče Skype, ten smrdí. Mám tu někde Skype runtime pro Linux a
zdrojáky SkypeKit. Pracuju na vlastním klientu. Jakmile se mi to podaří
zprovoznit, aby to trochu fungovalo tak to sem dám.
Já nepoužívám hibernaci myslím uspání do ramky.
Fedoru bych označil za systém pro linuxáky, Ubuntu jako systém pro přeběhlíky z Windows. V Ubuntu bylo totiž přidáno velké množství vlastností, které v Linuxu nebyly, ale byly přidány na základě tlaku uživatelů Windows ve stylu "Prejdeme, ale musí to umět tohle".
Na produkčních strojích používám IceWM. Je to spartánské a rychlé prostředí, zabírá minimum RAM a má virtuální plochy. Dobře se ovládá z klávesnice.
Na jednom testovacím stroji zkouším Unity. Jsou to takové zbytečné parádičky, které jen zdržují. Například panel vlevo byl plný už po instalaci, rolovat už ve 20 položkách mi přijde nepraktické. Doladím si IceWM na nové vlastnosti a Unity odstavím.
Textový editor: Vim
WinSCP -> ssh, scp, sshfs, ftp, curlftpfs
VS -> Vim
... někdo používá NetBeans, jiný Eclipse. MonoDevelop je tam také. Ovšem
na Linuxu se Mono moc nepoužívá, jsou tam lepší jazyky.
Příkazy se běžně volají z vlastních programů. Některé se ani nevolají přes exec(), ale přímo. Ušetří se tím pár ms.
Přepínatelná karta je co? Promiskuitní režim? To umí.
Uspávání jsem dosud neřešil, Google poradí.
Mám integrovanou kartu na chipsetu a dedikovanou Radeonku. Ve škole
používám úsporný režim a textový mód. Grafiku prakticky nepoužívám.
Ovšem když chci něco renderovat nebo zapnout něco náročnějšího tak ji
využiji. Jde mi hlavně o to, že linux v základu používá dedikovanou kartu
a to se pak projeví na výdrži baterie. Rád si kartu přepínám sám jak se
mi chce - tedy manuálně.
DoNtIkE mi poslal pěkný návod jak to řeší na Ubuntu. Jak budu mít
možnost tak to vyzkouším.
Rád bych pracoval v C#. Ovšem nejsem si jist, zda to má pod Linuxem nějaký význam. Javu moc rád nemám.
C# v Linuxu význam nemá. Podle mne je Mono přeplácané. Mohu doporučit Python. Je rychlý, úsporný a moderní.
Z dalších jazyků se hodí Lua, PHP, Bash, CLisp, Perl, xsltproc, případně i ta Java. Záleží na typu aplikace.
David měl na mysli něco pro tvorbu desktopových aplikací.
Na C# se mi líbí to, jak je to jednotné, protože to má pod sebou MS a o ten jazyk se stará. Java mi přijde jako balast všech možných knihoven, co někdo napsal a dal dohromady. O PHP ani nemluvím, to je ostuda, ale ty metody tam prostě již zůstanou, protože nad tím jazykem nemá nikdo pevnou ruku, aby řekl: "Takhle ne". Je to výplod mnoha lidí s různými názory. Takhle to bude asi se všemi otevřenými jazyky. Navíc C# je návrhově úplně někde jinde.
Myslím, že mluvím i za Davida, když řeknu, že nám vyhovuje silně typovaný jazyk, postavený na virtuálním stroji. Myslím, že kromě Javy nic takového není. No, třeba si zvykneme.
Jednotnost C# je současně výhodou i nevýhodou.
Otázkou je, jestli si pod silně typovaným jazykem nepředstavuješ staticky typovaný jazyk, protože i dynamicky typované jazyky mohou být silně typované.
V PHP je to ostuda, to uznávám. U nuly si člověk není jist, zda je to 0, '0' nebo false.
Statické typování je obvyklejší u kompilovaných jazyků. V Linuxu se spíš používají interpretry, protože v něm existuje velké množství utilit, které se velmi snadno kombinují. Je běžné, když v 10řádkové aplikaci zkombinuji třeba 15 různých programů. Některé úlohy řešené zde v C# jsou v Linuxu záležitostí jednoho řádku. U takových aplikací se statická typovost moc nehledá.
Co zmíněný Python? Ten je silně typovaný.
Ano, měl jsem na mysli statickou typovou kontrolu, špatně jsem se vyjádřil.
Python se mi nelíbí již syntaxí, mám rád céčkové jazyky. Dále v něm bude problém s exportem do spustitelného formátu a počítám, že tvorba GUI aplikací také nebude žádná sláva. Staticky typovaný pokud vím není, mám rád, když mi kompilátor řekne, že někde něco nesedí a nedozvím se to až za běhu.
My jsme jinak zaměření, chceme dělat aplikace s tlustým klientem, které budou používat běžní uživatelé. Tedy aplikace s instalací a GUI. Neprogramujeme utility nebo samoúčelové aplikace, tyto interpretery vnímám jako čistě skriptovací jazyky.
Mě se nikdy nestalo že by to zlobilo..sem tam když jsem to probouzel tak mi přeblikly obrazovky ale jinak v pohodě
Syntaxi céčkového jazyka v Linuxu může splnit ještě C++ i se statickým typováním.
Python má export do spustitelného formátu, pod Windows vytváří dokonce .exe. S Pythonem teprve začínám, ale GUI udělat umí.
YAMLovská syntaxe Pythonu mi sice také moc nesedí, ale má své výhody. Hlavně programátora odradí od vytváření špagetového kódu a donutí ho k určité kultuře zápisu. Vynechání závorek je už jen pouhý bonus.
Statické typování lze částečně nahradit asserty, úplně metodou TDD. Programuji už nějakou dobu a možnost dynamického typování jsem uvítal. Možná proto, že jsem se naučil na statickém a už mi lezlo krkem. Návyky mi však zůstaly a proto nemám s běhovými chybami potíže.
Pokud chcete dělat tlusté klienty pro uživatele Windows, asi bude vhodné zůstat u Windows a C#. Ještě by mohla být zajímavá varianta Windows a Python, ale tu jsi už zavrhl.
C++ určitě ne, bez GC programovat nebudu.
Na ten Python se podívám, ale stejně asi skončím u Javy, je C# nejpodobnější.
Že GUI nejde udělat? Kdepak, pro to jsou perfektní knihovny GTK nebo QT. Je k nim pěkná dokumentace a ještě lepší IRC podpora. Python je pro začátečníky podle mne dobrá volba. Je zpracováno mnoho knih pod svobodnou licencí.
Také si myslím, že Python je dobrou volbou. Příjemná je i přímá práce v konzoli, což Java ani C# AFAIK neumí.
Ok, kouknu na to Já mám k těmhle interpreterům nedůvěru kvůli Ruby, které nestojí za nic.
Vzhledem k tomu, že už velké množství systémových aplikací v linuxových distribucích bylo přepsáno do Pythonu a téměř nic do Ruby, tak bys Pythonu mohl věřit.
Python se právě učím a líbí se mi čím dál víc. Psal jsi, že v C# to s databázemi není jednoduché. V Pythonu je to trivialita.
Když máš znalosti tak za minutu jedeš na DB, psal jsem to jen začátečníkům, protože je vhodné dělat to přes ten LINQ a s tím souvisejí anonymní typy, volá to interně metody, kde se používají anonymní delegátí přes lambda funkce. Myslím, že je dobré, aby člověk věděl, co dělá. Mohl bych udělat tutoriál kde by neznalý za pár minut dělal s databází, ale takhle to nechci, protože by vůbec netušili, jak to uvnitř funguje.
Jestli jsem to správně pochopil, LINQ je mezivrstva, která překládá dotazy do SQL, XPath apod. dle potřeby. K databázi se pak aplikace chová jako k seznamu. V Pythonu je to podobné.
Jenom mi není jasné, proč se lambdě říká delegát. Je to něco jiného nebo si jen Microsoft vymyslel nový název?
Delegát je v .NET kolekce ukazatelů na metodu. Dělají se přes to např. události, kde si vytvořím event (delegát) a do něj si uložím callbacky.
V .NETu mají kolekce na sobě metody jako Where(), Select() a podobně. LINQ SQL dotaz poté překládá do těchto metod nebo naopak umožňuje s databází pracovat jako s kolekcemi.
V .NET existuje speciální delegát (ukazatel na konkrétní typ metody, která bere 1 parametr a vrací bool), kterému se říká predikát. Tento predikát potom berou jako parametr metody na kolekcích. Např. budu chtít najít Jana Nováka. Vytvořím si k tomu tedy metodu typu predikát:
bool JeJanNovak(Uzivatel u)
{
return u.jmeno == "Jan Novák"
}
Potom mohu vyhledávat jako:
kolekce.Where(JeJanNovak(Uzivatel u));
Celý delegát mohu zapsat jako anonymní:
kolekce.Where(delegate(Uzivatel u)
{
return u.jmeno = "Jan Novák";
})
A k zápisu anonymního delegáta mohu použít lambda výraz:
kolekce.Where(u => u.Jmeno == "Jan Novák");
Nejsem si úplně jistý, jestli jsem to napsal správně, ale pro představu to určitě stačí.
Aha, delegát je asi něco jako uzávěr (closure). Díky.
V Pythonu by to možná vypadalo takto:
JeJanNovak=lambda u:u.jmeno=="Jan Novák"
Trochu jsem pokročil. Pokud bych v Pythonu chtěl tu funkci generovat přes uzávěru, šlo by to asi takto:
def testjmeno(jm):
return lambda u:u.jmeno==jm
JeJanNovak=testjmeno("Jan Novák")
Také si nejsem přesně jist, jestli to odpovídá delegátům v C#, ale snad je z toho patrné, co jsem tím myslel.
Jestli se mi bude Ubuntu líbit, tak zde udělám pro Python sekci a uvidíme, zda o něj bude zájem.
Python se teprve učím, ale zalíbil se mi. Naučil jsem se ho používat jako skvělou kalkulačku. Dokonce umí počítat integer s neomezenou přesností a zvládá i komplexní čísla, na která vývojáři her dost zapomínají.
Python funguje i na Windows, aplikace jsou přenositelné.
Například já. Nevidím na tom nic nenormálního. Veškerý SW v PC mám legální.
Zobrazeno 36 zpráv z 36.