Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
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í.
BF extended 2022
Avatar
ProfessionalProgrammer:23.4.2013 13:36

Takže, dnes jsem začal programovat v jazyku C#, na který jsem přešel z C....
Pokusil jsem se naprogramovat hello world, ale to nešlo -- ERROR. Jakto??!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp_setup()
{
    class Program
    {
        static void Main(string[] args);
        {
           System.Console.Println("Hello world");
        }
    }
}

Konečně mi došlo, jak špatnej C# je. Je pomalý, není multiplatformní, nemá ani pointery, hnusná a neefektivní C-style syntaxe, špatnej generics support...
Seriously? Jak sakra může devbook silně podporovat tak hnusnej a neefektivní jazyk, který upadá, přestává se používat a Microsoft omezuje jeho vývoj?!
Žádám objektivní odpověď.

 
Odpovědět
23.4.2013 13:36
Avatar
Michal Žůrek - misaz:23.4.2013 13:39

Ne System.Console­.Println("Hello world"); ale Console.Write­Line("Hello world");

 
Nahoru Odpovědět
23.4.2013 13:39
Avatar
Odpovídá na ProfessionalProgrammer
Michal Žůrek - misaz:23.4.2013 13:40

Proč by microsoft omezoval tento jazyk? Jakým způsobem ho omezuje?

 
Nahoru Odpovědět
23.4.2013 13:40
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 13:40

Jednoduše, protože on špatný není, jenom mu nerozumíš. To je jako bys sedl z kola na motorku a nadával kde to má šlapky. Vysvětlil bych ti, že motorka má motor. C# nemá pointery, má GC.

Nahoru Odpovědět
23.4.2013 13:40
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek - misaz
David Čápka:23.4.2013 13:47

Dojímá mě jak podle nicku profesionální programátor nedokáže vygooglovat příkaz pro vypsání do konzole a protože ten, co si vymyslel, nefunguje, je to špatný a hnusný jazyk :D

Nahoru Odpovědět
23.4.2013 13:47
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
ProfessionalProgrammer:23.4.2013 13:49

Tak za prvé; to, že nerozumím C#, neznamená, že neumim číst specs (ISO/IEC standard) a neumím žádný jiný C#-like jazyk.
Možná má GC (který je neefektivní a nemá vůbec nic společného s pointerama - mluvíš jako kdyby byl GC nahráda pointerů, což dokazuje, že nevíš o čem mluvíš).
Jak vidím, tak jsi neokomentoval mé další přípomínky - to jen dokazuje, že mám pravdu a ty se mnou v těchto bodech souhlasíš.

Editováno 23.4.2013 13:50
 
Nahoru Odpovědět
23.4.2013 13:49
Avatar
Odpovídá na David Čápka
Michal Žůrek - misaz:23.4.2013 13:50

Spíš by mě zajimalo proč chce přejít z úžasného C s pointery na hnusný a pomalý C# :)

 
Nahoru Odpovědět
23.4.2013 13:50
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 13:51

Ty také neodpovídáš :D Jak jsi přišel tedy na to, že je hnusný? Samozřejmě, že GC je náhrada pointerů. No já se válím smíchy. Kde pracuješ?

Nahoru Odpovědět
23.4.2013 13:51
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Odpovídá na David Čápka
Michal Žůrek - misaz:23.4.2013 13:55

Snad v ProfessionalFactory :D

Pokud vím dobře tak Console.WriteLine() je hned v druhem článku tutorialu :D http://www.itnetwork.cz/…ova-aplikace

Ale proč by prefessional četl tutorial :D

Editováno 23.4.2013 13:55
 
Nahoru Odpovědět
23.4.2013 13:55
Avatar
ProfessionalProgrammer:23.4.2013 13:55

@Misaz: Vím to z e-mailu Lead Developera Microsoftu, ve kterém jasně řekl, že Microsoft nebude pokračovat ve vývoji frameworku DirectX a XNA. Když se podíváš na Windows 8, vidíš, jak se více zaměřili na C++ (--> nová náhrada WinAPI).
Nechci přejít, pouze jsem si to chtěl vyzkoušet.

@sdraco: Zatím jsem ti odpověděl na všechno. GC není náhrada pointerů - je to součást běhového prostředí jazyka, avšak pointer je vestavěný (složený) typ. Je to úplně něco jiného, a pointer je doopravdy lepší - nedokážeš si představit, co se s ním dá dělat za věci, které nepředstavitelně zrychlí program.

 
Nahoru Odpovědět
23.4.2013 13:55
Avatar
ProfessionalProgrammer:23.4.2013 13:57

Pokud by jste četli správně, chybu jsem udělal ve středníku za hlavičkou funkce a v kulatých závorkách za jmenným prostorem, ale jak jste určitě pochopili - můj úmysl byl rozpoutat tuto diskuzi a slyšet názory programátorů amatérů, které - jak vidím - jsou velmi zkreslené.

 
Nahoru Odpovědět
23.4.2013 13:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 13:57

Víš co? Přečti si nejprve nějakou teorii o virtuálním stroji. Potom si zjisti něco o jazyku C#, možná tě překvapí, že nevychází z Céčka, ale z Javy. Potom si přečti něco o objektovém návrhu aplikací. Potom se podívej na pracovní poptávku po objektových jazycích s GC. Potom sem přijď znovu a budeme se moci normálně bavit :)

Nahoru Odpovědět
23.4.2013 13:57
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Odpovídá na ProfessionalProgrammer
Michal Žůrek - misaz:23.4.2013 13:58

:D :D :D jo tak tobě píše Lead Developer Microsoft :D :D :D , to mě teda zajimá, co dál se tam píše?

C++ není náhrada za winApi pokud ti teda Lead Developer Microsoftu neřekl něco jiného. Je to aby mohly vznikat hry využívajíci DirectX.

XNA se sice v C# píše, ale je to něco jiného :D

 
Nahoru Odpovědět
23.4.2013 13:58
Avatar
Michal Žůrek - misaz:23.4.2013 13:59

Těžko říct kdo je tu amatér :) Netvrdím že jsem professionl, ale tak najit si Console.WriteLine() mi nepřijde až zas tak těžké...

 
Nahoru Odpovědět
23.4.2013 13:59
Avatar
ProfessionalProgrammer:23.4.2013 14:00

Vím, co to je virtuální stroj. C# jsem se nikdy neučil, ale vzhledem k tomu že umím Javu (ze které C# vychází) a C++ (ze kterého vychází java), tak s jeho syntaxí problém opravdu nemám.
OOP umím moc dobře, přednáším o něm na seminářích Matfyzu (KSP - říká ti to něco?), pracovní poptávka - ta je možná vyšší, ale ten plat? Nic moc.

 
Nahoru Odpovědět
23.4.2013 14:00
Avatar
Homo
Člen
Avatar
Odpovídá na ProfessionalProgrammer
Homo:23.4.2013 14:01
které nepředstavitelně zrychlí program

No v tehle dobe uz ani moc neplati ze by jazyky s virtualnim strojem byly nejak viditelne pomalejsi, ba naopak. Zalezi jak ten jazyk dobre znas a nepises uplny hovadiny.
Jinak muzes zkusit Javu, ma Ceckovskou syntaxi a je v zakladu multiplatformni. C# je jen levna kopie Javy od MS. Samozrejme to neni prvni kopie MS. Napr
MySQL -> MsSQL
JavaScript -> VBScript

Nahoru Odpovědět
23.4.2013 14:01
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 14:02

To je pravda, Java programátor za 70k/měsíc, to je bída :`

Pokud přednášíš na Matfyzu, tak je to smutné, jsi důvodem, proč jsem nestudoval státní VŠ :)

Nahoru Odpovědět
23.4.2013 14:02
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Odpovídá na ProfessionalProgrammer
Michael Olšavský:23.4.2013 14:03

Takže: 1, pokud nepíšeš špatné programi, skoro se dokáže vyrovnat C.
2, multiplatformní může být díky komunitě, která vytvořila MonoDevelop
3, pointery můžeš mít, pokud píšeš v unsafe modu. (Ikdyž ne plnohodnotné)
4, když říkáš, jaký je C skvělý jazyk, tak jaktože píšeš hnusna a neefektivní syntaxe???
5, generics support má lepší jak C
Navíc to vypadá, že si četl dokumentaci pro Javu :-P GB ti mnohonásobně ulehčí práci. Vyvaruješ se únikům paměti (vím co říkám. Programuji i v C++), OOP je také úplně něco jiného než strukturované programování. Nevím, jak z programu hello world usoudíš, že je jazyk pomalý a hnusný. Microsoft C#.NET neustále podporuje. Nedávno vyšel Framework 4.5 a C# 4, kde přibyla například asynchronizace. Jeho použití neustále roste.

Nejdřív mysli, než něco napíšeš.

 
Nahoru Odpovědět
23.4.2013 14:03
Avatar
ProfessionalProgrammer:23.4.2013 14:04

@Misaz: Mě nepíše Lead Developer z Microsoftu, ale kdyby jses alespoň trošku orientoval v IT, věděl bys, že tento e-mail byl veřejně zpřístupněn.
Neřekl jsem, že C++ je náhrada WinAPI - nevíš co mluvíš. WinAPI je Windows rozhraní napsané v C, pouze jsem řekl, že Windows 8 přínáší C++ programátorům nové rozhraní napsané v C++ na bázi WinAPI.
Samozřejmě, že XNA není C# - je to vývojářská platforma která umožňuje psát hry snadno a rychle.

 
Nahoru Odpovědět
23.4.2013 14:04
Avatar
Homo
Člen
Avatar
Odpovídá na David Čápka
Homo:23.4.2013 14:04

V IBM je u Java programatora ktery tam dela dyl normalni i 100k+ :-)

Nahoru Odpovědět
23.4.2013 14:04
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:23.4.2013 14:04

C# je ve skutečnosti lepší kopie Javy, má tu výhodu, že si sebou nenese chyby v návrhu Javy, které Java už opravit nemůže kvůli kompatibilitě. Dělám v obou jazycích docela hodně, C# je jako jazyk (gramatika) mnohem dál. O zbytku bychom mohli diskutovat dlouho, každý používá co mu vyhovuje více.

Editováno 23.4.2013 14:06
Nahoru Odpovědět
23.4.2013 14:04
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
ProfessionalProgrammer:23.4.2013 14:06

Ještě jednou chci zopakovat; smysl toho špatně-napsaného hello worldu byl rozpoutat diskuzi.
Nebavím se o Javě, ale o C#.

 
Nahoru Odpovědět
23.4.2013 14:06
Avatar
Homo
Člen
Avatar
Odpovídá na David Čápka
Homo:23.4.2013 14:08

Hadani je zbytecne, priznavam ze C# je mozna dal co se tyce syntaxe, ale podle me vseho moc skodi. Navic velke prednosti C# jako LINQ a Lambda budou v Jave 8 dohnany lambdou, ktera navic sebou nese obrovske moznosti s kolekcemi, ktera ma LINQ.
Jinak mohl bych vedet jakou tu chybu v navrhu myslis? :-)

Nahoru Odpovědět
23.4.2013 14:08
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 14:09

Ano, to se ti povedlo, z tvého příspěvku má totiž každý pocit, že je ti 12 let a nadáváš na všechno okolo, protože se ti nezkompiluje hello world :) Bavíme se tu i o Javě, protože je technologicky stejná jako C#, ale to už jem ti psal. Narážíš tedy i na Javu, protože C# má její syntaxi, kterou jsi označil za hnusnou.

Nahoru Odpovědět
23.4.2013 14:09
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Odpovídá na Homo
ProfessionalProgrammer:23.4.2013 14:09

@javamaster: Opravdu? Nechceš si to ještě jednou promyslet? Chceš mi říci, že jazyk překládaný do native kódu může být pomalejší než jazyk interpretovaný virtuálním strojem pokud jsou oba programy stejně dobře napsané a optimalizované?
Nepřednáším na matfyzu, býval jsem jejich student a přednáším na jejich kurzech (soustředění) a opravuji KSP (korespondenční seminář z programování).

 
Nahoru Odpovědět
23.4.2013 14:09
Avatar
ProfessionalProgrammer:23.4.2013 14:10

@sdraco: Přesně o to šlo, chtěl jsem vyprovokovat C# programátory aby vstoupili do diskuze.

 
Nahoru Odpovědět
23.4.2013 14:10
Avatar
Odpovídá na ProfessionalProgrammer
Michael Olšavský:23.4.2013 14:11

Pošli nám odkaz na ten email ;-) :D Vím akorát o konci podpory XNA. Moc jsem nepochopil, proč jsi napsal tedy vůbec ten hello world a myslím, že si pořád trochu protiřečíš. Nejdříve C# nemá pointery, poté umím javu(ta je taky nemá), C# má hroznou syntaxi (dělám v C) -> hrozný rozdíl. Microsoft dělá pro C++ pouze rozhraní pro DirectX.

 
Nahoru Odpovědět
23.4.2013 14:11
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:23.4.2013 14:13

V tu chvíli jsem myslel zejména plno špatně navržených a redundantních knihoven. Když se zamyslím nad jazykem jako takovým, je to třeba absence přetěžování operátorů a indexerů. Dále tvorba vlastních primitivních typů. Do Javy je hodně věcí vpraveno uměle, zatímco v C# jsou naprogramovány běžnými prostředky jazyka.

Nahoru Odpovědět
23.4.2013 14:13
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na David Čápka
Lukáš Hruda:23.4.2013 14:14

GC není náhrada pointerů, GC je prostředek pro automatickou správu paměti, pointery jsou prostředek pro přímý přístup k paměti, nepoužívají se ale pouze pro správu paměti, jdou přes ně někdy provádět dost slušné optimalizace. GC a pointery můžou klidně fungovat paralelně v jednom v jazyce, vždyť v C# jdou také pointery nějak sprovoznit pokud vím. Jednoduše řečeno, i když máš GC, tak pointery se někdy můžou hodit (sic spíše výjimečně).

 
Nahoru Odpovědět
23.4.2013 14:14
Avatar
ProfessionalProgrammer:23.4.2013 14:16

http://www.zdnet.com/…-7000010647/
Zde si o tom můžete něco přečíst.
C# také nemá ukazatele, pouze v unsafe mode. Javu umím kvůli přednáškám o OOP, ale profesionálně v ní nedělám. C se však v mnohém liší, pouze jsem řekl, že je na C založená (a.k.a C-style syntax).

 
Nahoru Odpovědět
23.4.2013 14:16
Avatar
Odpovídá na Lukáš Hruda
Michael Olšavský:23.4.2013 14:16

Ano jdou. V unsafe režimu ;-)
EDIT: Jak vidím, tak pan profesionál už to tu řekl.

Editováno 23.4.2013 14:17
 
Nahoru Odpovědět
23.4.2013 14:16
Avatar
ProfessionalProgrammer:23.4.2013 14:17

Ano, ze začátku to vypadalo, že Microsoft už nebude vyvíjet, ale poté uklidnili komunitu zprávou, že ten e-mail nebyl přesný.

Editováno 23.4.2013 14:20
 
Nahoru Odpovědět
23.4.2013 14:17
Avatar
Odpovídá na ProfessionalProgrammer
Michael Olšavský:23.4.2013 14:18
  • z nefunkčního hello world pozná, jak je ten jazyk neskutečně pomalý ;-)
Editováno 23.4.2013 14:22
 
Nahoru Odpovědět
23.4.2013 14:18
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:23.4.2013 14:21

Ano, takže si to shrňme. Jsi vystudovaný matfyzák, který přednáší o programování. Nedokážeš napsat Hello world v C#, i když programuješ v Javě (syntaxe je stejná). C# je hnusný jazyk, protože ti nefunguje hello world a proto také upadá. V Microsoftu chtějí zrušit DirectX. Za to céčko, ve ktrém programuješ, bereš více než 100.000 měsíčně, jelikož ti 70k+ za C# nebo Javu připadá málo. Pointery jsou nejlepší a virtuální stroj je zastaralý a pomalý. GC není náhradou pointerů. Když budu pokračovat, dojdu dedukcí k tomu, že hamburgery jsou zdravá výživa a že jsem čínský papež :) Z této diskuze se odebírám a ty si ve vlastním zájmu sežeň nějaké materiály a doplň si znalosti.

Nahoru Odpovědět
23.4.2013 14:21
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
ProfessionalProgrammer:23.4.2013 14:21

Sorry za ten edit poslední zprávy, trošku se mi lagnul net. Je to odpověď na tvojí zprávu.

 
Nahoru Odpovědět
23.4.2013 14:21
Avatar
ProfessionalProgrammer:23.4.2013 14:22

@Sdraco: Přečti si znovu moje příspěvky a popřemýšlej nad tim, jakou blbost si právě řekl.

 
Nahoru Odpovědět
23.4.2013 14:22
Avatar
Michael Olšavský:23.4.2013 14:23

Taky sem namísto nové zprávy editoval tu starou :-/ :D

 
Nahoru Odpovědět
23.4.2013 14:23
Avatar
Odpovídá na David Čápka
Michael Olšavský:23.4.2013 14:24

Nemůžeš uzavřít diskuzi? Blbostí už je tady stejně dost.

 
Nahoru Odpovědět
23.4.2013 14:24
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:23.4.2013 14:25

Ok, tady to nikam nevede :)

Nahoru Odpovědět
23.4.2013 14:25
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 39 zpráv z 39.