C++ / Java , gdy nie interesuje cie wieloplatformowosc to zdecydowanie C# (chociaz w sumie C# tez jest wieloplatformowy:) windows phone, silverlight, asp etc.
Na twoim poziomie nie słuchaj o zadnej przewagi szybkosci - bedziesz umial pisac dobry kod to bedzie szybki, czasem nawet szybszy niz w asmie.
Jak znasz angielski to C# 4.0 in a nutshell - ksiazka i dla totalnego nooba, jak i dla kogos zaawansowanego gdyz zawiera wiele niuansów.
Początki informatyki
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
Początki informatyki
O ile zgadzam się, że za wydajnością nie ma najczęściej potrzeby ganiać, to już teoria, że dobry kod w C# będzie szybszy od assemblerowego trochę mnie jednak dziwi. Jakieś dowody na to? Jak w ogóle można przegonić asma wydajnością?
Początki informatyki
O ile zgadzam się, że za wydajnością nie ma najczęściej potrzeby ganiać
To jakieś żarty, jest to bardzo ważne dla programistów i bardzo często doświadczeni koderzy wybierają odpowiedni język do złożoności problemu. Jest to opisane w wielu książkach. I to nie jest czysta teoria, ale w wielkich projektach naprawdę zauważalna różnica.a twoim poziomie nie słuchaj o zadnej przewagi szybkosci
Co do przenośności ( firma Microsoft nie dba o to ) w przeciwieństwie do firmy Sun ( Java ).
Co do dobrego kodu - ogromnie trudne, nawet dla doświadczonego programisty. Od poziomu programowania będzie zależał poziom złożoności problemu.
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
Początki informatyki
Wszelkie rozmowy o przenośności oprogramowania mają sens jedynie w prostych projektach - całą wieloplatformowość można o kant kuli potłuc, gdy tylko zderzymy się z np. z projektowaniem interfejsu (gdy chcemy wykorzystać jakieś ciekawsze elementy niż zwykły przycisk) albo obsługą sieci. Przenośność niestety jest mitem.dexter90 pisze:Co do przenośności ( firma Microsoft nie dba o to ) w przeciwieństwie do firmy Sun ( Java ).
Odnośnie Microsoftu i platformy .NET, to jest ona jak najbardziej przenośna - opisują ją standardy ECMA-334 oraz ECMA-335, więc stwierdzenie, że MS nie dba o przenośność jest lekko nietrafione.
I przy okazji: teraz Javą zajmuje się Oracle (Sun już nie istnieje).
Przy czym odpowiedni język nie znaczy język generujący najszybszy kod - najczęściej wybiera się taką technologię, która umożliwi szybkie wyprodukowanie i jak najłatwiejsze utrzymywanie oprogramowania. Stąd wzięła się popularność Javy (na początku była nieludzko wolna, ale dało się w niej szybko pisać) albo Pythona. Ponadto świat się zmienia i ciągle jest sporo projektów, które zostały napisane w nieużywanych już językach (vide COBOL), a które mimo wszystko trzeba utrzymywać. Problem nie jest taki prosty, nie zawsze możemy wybrać taką technologię, jaka nam odpowiada.dexter90 pisze:To jakieś żarty, jest to bardzo ważne dla programistów i bardzo często doświadczeni koderzy wybierają odpowiedni język do złożoności problemu. Jest to opisane w wielu książkach. I to nie jest czysta teoria, ale w wielkich projektach naprawdę zauważalna różnica.
Początki informatyki
Zgadza się - Oracle. Standardem .Net jest ECMA i powstają niezależne implementacje tego środowiska i są to projekty nie wspierane przez firmę Microsoft ( Mono, dotGnu , ..).
EDIT:
Co do Javy, na początku kod nie działał zbyt szybko, po co wracasz do tego, czego już nie ma? Ale na przestrzeni czasu program w Javie, program wykonywał się szybciej niż C++ i programista potrzebował o wiele mniej czasu na napisanie równoważnego programu w C++.
Od samego początku piszę, że wybór technologii zależy od złożoności problemu.
EDIT:
I co do wyboru technologii - zdania są podzielone i nikt tutaj nie może uważać słuszności swojego zdania bo punkt widzenia zależy od punktu siedzenia.
Pozdrawiam
EDIT:
Co do Javy, na początku kod nie działał zbyt szybko, po co wracasz do tego, czego już nie ma? Ale na przestrzeni czasu program w Javie, program wykonywał się szybciej niż C++ i programista potrzebował o wiele mniej czasu na napisanie równoważnego programu w C++.
Od samego początku piszę, że wybór technologii zależy od złożoności problemu.
EDIT:
I co do wyboru technologii - zdania są podzielone i nikt tutaj nie może uważać słuszności swojego zdania bo punkt widzenia zależy od punktu siedzenia.
Pozdrawiam
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
Początki informatyki
Jednak to Microsoft postarał się o standaryzację platformy, co umożliwiło łatwiejsze napisanie niezależnych implementacji.dexter90 pisze:Zgadza się - Oracle. Standardem .Net jest ECMA i powstają niezależne implementacje tego środowiska i są to projekty nie wspierane przez firmę Microsoft ( Mono, dotGnu , ..).
Pokazałem, że wybór technologii nie zależy tylko od szybkości działającego programu - gdyby tak było, to Java nie zyskałaby popularności.dexter90 pisze: Co do Javy, na początku kod nie działał zbyt szybko, po co wracasz do tego, czego już nie ma?
Do każdej teorii da się dorobić benchmark, więc możemy się licytować o szybkości każdego języka i nic z tego nie wyjdzie.dexter90 pisze:Ale na przestrzeni czasu program w Javie, program wykonywał się szybciej niż C++ i programista potrzebował o wiele mniej czasu na napisanie równoważnego programu w C++.
Do tego się odniosłem.dexter90 pisze:Od samego początku piszę, że wybór technologii zależy od złożoności problemu.
Wręcz przeciwnie - każdy powinien być przekonany o słuszności swojego zdania Co nie zmienia faktu, że nie istnieje jedno rozwiązanie dla wszystkich problemów i dlatego mamy mnogość języków, paradygmatów i systemów operacyjnych.dexter90 pisze: I co do wyboru technologii - zdania są podzielone i nikt tutaj nie może uważać słuszności swojego zdania bo punkt widzenia zależy od punktu siedzenia.
Początki informatyki
Odniosę się tylko do 1 i ostatniego cytatu.
Postarał się o standaryzację , ale o przenośność już walczą inni ( mowa tu o niezależnych implementacjach ).
Ostatni:
Tutaj masz rację, miałem na myśli po prostu to, że nikt nie może uważać "że tylko moje zdanie jest słuszne i tylko moje".
Pozdrawiam!
Postarał się o standaryzację , ale o przenośność już walczą inni ( mowa tu o niezależnych implementacjach ).
Ostatni:
Tutaj masz rację, miałem na myśli po prostu to, że nikt nie może uważać "że tylko moje zdanie jest słuszne i tylko moje".
Pozdrawiam!
Początki informatyki
wprowadizlem pewna nie scislosc, dobry kod w C# moze byc szybszy od zle napisanego kodu w asmie, na stackoverflowu ktos robil testAlthorion pisze:O ile zgadzam się, że za wydajnością nie ma najczęściej potrzeby ganiać, to już teoria, że dobry kod w C# będzie szybszy od assemblerowego trochę mnie jednak dziwi. Jakieś dowody na to? Jak w ogóle można przegonić asma wydajnością?