wasiu napisał(a)
Zaczyna sie tylko i wylacznie od C, dalej C++... a potem w przyszlosci mozna myslec o C#. Ze trudniej? Sorry ale ktos kto zaczyna, to ma byc w przyszlosci programistą, a nie dupą wołową prowadzoną za rączke.
Zacząłem od C, potem C#. C++ szczęśliwie ominąłem. W pracy jakoś nikt mnie za rączkę nie prowadzi.
z tym, ze .NET to glownie wykorzystywanie bibliotek, a nie programowanie
Rozumiem zatem, że w C++ nie używa się żadnych bibliotek? A także, że programowanie nie polega na tworzeniu oprogramowania ale na spędzaniu 80% czasu na rozwiązywaniu problemów z zarządzaniem pamięcią.
Krolik napisał(a)
Zmienne to chyba podstawa większości języków programowania
Tylko imperatywnych :>
Jasne, tylko to było w domyśle. Myślałem nawet, żeby to dodać w tym zdaniu, ale uznałem, że jakbym go nie ujął, to ktoś się do czegoś przypieprzy. Bo zawsze znajdzie się jakiś wyjątek.
Z drugiej strony, to jednak większość używanych i nauczanych języków jest imperatywna. Mylę się?
Azarien napisał(a)
somekind napisał(a)
W C/C++ int to nazwa typu, tak? A w C# to tylko alias na nazwę klasy System.Int32.
To akurat bez znaczenia. Chodziło o to, że w C++ jest int i unsigned int, a w c# jest int i uint.
To ma ogromne znaczenie. To jest różnica w architekturze języka, ogromna różnica. "int" kompilatorowi C++ mówi: "zarezerwuj tutaj 4 (czy ileś) bajtów", a kompilatorowi C#: "to będzie obiekt typu System.Int32, ze wszystkimi jego właściwościami i metodami".
A jaki jest odpowiednik char z C# w C++?
wchar_t
Faktycznie, w C++ jest. Ale o ile dobrze pamiętam, to w C tego nie ma?
ba, klasy są nie tym samym... w C++ klasa od struktury różni się tylko tym, że klasa ma pola domyślnie private a struktura public. Więc struktura z C# jest odpowiednikiem klasy C++. A odpowiednika klasy C# w C++ brak.
A jak z przechowywaniem obiektów tychże rodzajów w pamięci? Bo raczej akcesory dostępu nie są jakąś super ważną różnicą.
No nie przesadzajmy. Składnia C# wywodzi się z C i jest to niezaprzeczalne.
Wszystko wywodzi się z ALGOLA. I to jest dopiero niezaprzeczalne.
Składniowo te języki się różnią, bo różna jest ich filozofia działania. Gdyby były podobne, to mógłbyś wziąć dowolny kod w języku X, wysłać do kompilatora Y i by się skompilował. Ale tak nie jest. Pewne pokrycie słów kluczowych nie wystarczy do stwierdzenia, że składnia X wywodzi się z Y, skoro mechanizm działania instrukcji jest inny.
deus napisał(a)
Może dlatego na MIT zaczynają od Scheme.
Ale tam jest cywilizacja, a u nas jebani fetyszyści swojego sposobu myślenia. Każdy język programowania, każda technologia, każdy wzorzec projektowy to g**no, które jest gównem, póki nie pozwoli stworzyć czegoś przydatnego ludziom. Nikogo nie obchodzi jak fajny jest kod. Fajny może być efekt jego działania. Niestety większość "programistów" u nas nie jest w stanie tego pojąć.