Język przyszłości

0

Jakiego języka wg. was powinno się uczyć, żeby po prostu- być do przodu... przynajmniej na razie? TPascal jest dość stary, nie wiem jak z Delphi... może po prostu C++ ? Albo VBasic?

0

Dylematy o Delphi niedawno były rozważane: http://4programmers.net/Forum/viewtopic.php?id=96303

A żeby być do przodu... obecnie na fali jest Ruby (dzięki Ruby on Rails), Java (spada popularność), języki platformy .NET (głównie C#). C/C++ nadal są popularne i nie zapowiada się aby w najbliższym czasie przestały być. Delphi ma problemy, Visual Basic nie jest przez wielu uważany za "prawdziwy język".

No cóż, jakieś 20 lat temu mówiono, że COBOL jest niezastąpiony i że jest dobrym wyborem na przyszłość. Dziś ludzie od COBOL-a to wymierający gatunek.

Po prostu nie wiadomo co przyniesie przyszłość - ucz się na razie programowania, a potem można się będzie na inny język przesiąść, jak ten, w którym coś robiliśmy zacznie umierać.

Jaki język programowania wybrać

0

@DarkAdex -> Zalezy co chcesz robic. Jezeli chcesz pracowac jako tworca stron to ucz sie C# i PHP. Jezeli chcesz pracowac w firmach takich jak Siemens musisz dobrze operowac Javą ... i wacale nie spada jej popularność! Wręcz przeciwnie. C/C++,Delphi i VB odchodzą już do historii - nie wiem skąd Twoja opinia Ktoś,ale wg. moich źródeł - a sa to ludzie tworzący standardy ... to Java i platforma .NET ma przyszłość. Reszta to przeżytek.

0

Witam
Ja bym bardziej skupił się nie na tym jakie kto bedzie lubił języki , ale raczej jakie będa w przyszłości ich zastosowania. Ostatnio
w jednym z pism był na ten temat artykuł, genrlanie jest pewien trend polegający na wzbogacaniu urzadzeń mobilnych w funkcjoanlność,ponadto oczywiscie ewoluują apliakcje webowe, także jakoś w tych kierunkach radizłbym ci się rozwijać.

Jezeli chcesz pracowac jako tworca stron to ucz sie C# i PHP. Jezeli chcesz pracowac w firmach takich jak Siemens musisz dobrze operowac Javą

Gdzies od łądnych paru lat przy pomocy javy także tworzy się strony(i to cąłkiem dobrze), ponadto C# to w 90% zerżnięta java. Co do php to łatwa praca niestety małe pieniadze.

pzdr.

0
int13h napisał(a)

wg. moich źródeł - a sa to ludzie tworzący standardy ... to Java i platforma .NET ma przyszłość. Reszta to przeżytek.

Hmm z tego co pamiętam to ci sami ludzie twierdzili, że Java zdetronizuje C/C++, a jak wiadomo tak się nie stało ;) Póki co ta sytuacja w najbliższym czasie nie zmieni się.

0
int13h napisał(a)

C# to nie jest zerżnięta Java tylko C++ w stronach internetowych!

Sory za ton, ale lepiej nie udzielaj sie bo nie wiesz o czym mówisz.

Ja całkowicie podzielam opinie Ktosia, Ruby zyskuje coraz wiekszą popularność, C/C++ bedzie istniało jeszcze długo bo najlepiej sie nadaje do pewnych zastosowań

A co do Javy to jej zalety są niepodważalne, ale myśle ze z logiki wynika ze skoro .NET zyskuje popularność to Java musi na tym tracić..

W ogóle nie lubie takich dyskusji bo do niczego nie prowadzą :P

0

C i C++ ma jeszcze dlugi zywot przed soba. W jezykach .net'owych nie poprogramujesz na zblizonym do niskiego poziomie, a mikroprocesorow coraz wiecej nas otacza: pralki, lodowki, kuchenki mikrofalowe, telewizory, odtwarzacze mp3/dvd/itd, komorki, zegarki, radia... programowanie embedded... a w czymze innym jak nie w ANSI C? Takich programistow jeszcze dlugo bedzie potrzeba...

Ale ja i tak stawiam na C# i programowanie aplikacji pod winde... bo akurat mnie to bawi ;) Obecnie zaczynaja wchodzic aplikacje komercyjne pisane w .net 1.1, za pare lat po premierze Visty 2.0 ... a juz powstaje specyfikacja .net 3.0 ... czyli na najblizsze 5lat, a moze i dekade, zabawy bedzie co nie miara ;)

0

Kooba: jak .net zyskuje to java wcale nie musi tracić - może nawet zyskiwać szybciej lol :D

http://www.google.pl/search?hl=pl&q=programming+language+popularity&btnG=Szukaj+w+Google&lr=

ciekawe statystki są... intepretować je trzeba według własnych zainteresowań i aspiracji i z artykułem Adama B. :)

Jaki powinien być język przyszłości? takie myślenie to ślepa uliczka i języki powinny być specjalne, a nie ogólnego użytku. Chociaż miło by było ujednolicać ich składnie i dokumentacje żeby łatwiej i szybciej uczyć się ich na bieżąca. Znajomy w jakiejś londyńskiej firmie uczył się średnio jednego języka na miesiąc.

0

na tak postawione pytanie nie da sie odpowiedziec prawidlowo. programowanie to szeroka dziedzina, ktora mozna dzielic na mniejsze:
-programowanie gier
-programowanie aplikacji webowych
-programoenie mikroprocesorow
etc

w kazdej takiej dziedzinie mozna probowac znalezc cos "najlepszego". tobie zapewne chodzilo o to, czego sie uczyc, zeby przy szukaniu pracy, nie miec problemow... tak jak juz ktos powiedzial, ucz sie programowac, a nie jezykow programownaia. zeby przetrwac na rynku pracy, trzeba byc poliglota programistycznym. na jednym jezyku nie zajedziesz daleko.

*najlepiej ucz sie tego: http:*forum.ks-ekspert.pl/index.php?showtopic=90705 ;)
<font size="1">// weź mnie nie strasz takimi dyskusjami ;) - Ktos</span>

0

dot net nie jest (ort!) przenośny na inne systemy, *nixy i maki, mimo projektu Mono. Osobiście nienawidze M$, więc nie korzystam z jego .net-a.
Java może być, chociaż trzeba jej maszynę wirtualną kazać użytkownikowi zainstalować itd. Poza tym jest dość wolna.
Osobiście preferuję C i C++, te języki wcale nie upadają, wręcz przeciwnie, wszędzie, gdzie potrzeba szybkości i przenośności są niezastąpione (oczywiście BEZ żadnych visuali i innych kreatorów).
Napisałbym jeszcze, że assembler najlepszy by był, ale większość użytkowników by się przeraziła. poza tym poczciwy asm ma niestety praktycznie zero przenośności.
Delphi może być (tylko do pewnych wąskich zastosowań), nawet wykorzystując 'projektowanie' borlanda, bo exec i tak będzie miał dużą objętość, tylko tu jest problem z przenośnością. Należy pamiętać, że przenośność jest ważna ze względu na powiększające się grono klientów nie korzystających w windy.
Python, Ruby - tak, to języki skryptowe, przenośne, mają co trzeba.

Radzę pozostać przy C, bo na każdą platformę masz biblioteki, a odpalania zwykłych binarek raczej na razie nie usuną z systemów, bo w czymś trzeba pisać sterowniki i programy nastawione na szybkość.</url>

0

Ciekawe jak piszesz normalna okienkowa aplikacje dla zwyklego uzytkownika, ktory gleboko ma to, w jakim jezyku napisano, za to wielce na uwadze to, ile taki program bedzie kosztowal?

Kreatory i Visuale sa do niczego jak sie nie umie z nich korzystac (vide 3/4 pytan w Newbie). Za to jak wiesz, co w trawie piszczy potrafia mocno ulatwic i przyspieszyc prace. Trzeba tylko umiec cos wiecej niz tylko wyklikac formatke...

pozdrawiam
johny

0

@Bluebat

Coś Ty sie tak czepił tych kreatorów... Albo nigdy nie korzystałeś i nie wiesz jak to jest, albo korzystałeś, ale g*wno się nauczyłeś. Żadnego pożądnego programu nie da się napisać w samym designerze. Poza tym jeśli chodzi o warstwę GUI to gwarantuję Ci że nic nie ulepszysz i szybciej już chodzić nie będzie. Oddzielną kwestią jest umiejętne wykorzystanie, ale o tym Ci już mój przedmóca napisał.

0
Bluebat napisał(a)

Napisałbym jeszcze, że assembler najlepszy by był, ale większość użytkowników by się przeraziła. poza tym poczciwy asm ma niestety praktycznie zero przenośności.

Tak sobie ostatnio wymyslilem, ze pisanie w asmie (a wlasciwie gadanie o tym bo przypuszczam, ze nikt nie pisze w nim powaznych aplikacji) przeczy korzystaniu z komputera - taka nostalgia w postepie :)

Bluebat ~ powiedz mi, sprzedales kiedys jakis program napisany w asemblerze? I jesli tak to ile czasu go pisales? (oczywiscie nie mowie tu o jakims zaliczeniu etc).

Bluebat napisał(a)

Należy pamiętać, że przenośność jest ważna ze względu na powiększające się grono klientów nie korzystających w windy.

No, ja nie mam wiec musze korzystac ze schodow. A tak na serio to smiem twierdzic, ze w firmach przewaza jednak Windows, bo badzmy realistami - dla wiekszosci zastosowan jest on po prostu bardziej user friendly, podobnie z reszta jak srodowiska dla niego przeznaczone.

Bluebat napisał(a)

Radzę pozostać przy C, bo na każdą platformę masz biblioteki, a odpalania zwykłych binarek raczej na razie nie usuną z systemów, bo w czymś trzeba pisać sterowniki i programy nastawione na szybkość.</url>

C? Patrz na moja wypowiedz dot asemblera.

IMO jedyne co sluszne: C#! :)

0

W firmach przeważa Windows? Muszę Cię wyprowadzić z błędu. W wielu firmach są instalowane Linuksy. Dlaczego? Bo jest taniej, zatrudnia się speca od Linuksów i każda sekretarka dostanie system, w którym nie zauważy, że to nie jest Windows. Bo wszystko robi się w dzisiejszych Distro tak jak w Windowsach, a zarówno wsparcie jest tańsze, jak i sam system.

0

Moze nie tyle chodzi o to ze stosowanie linuxa jest tańsze od windowsa(choc oczywiscie dla małych firm sie to takze liczy), bo jesli np. firma wykupuje licencje na pewien serwer kosztującą kilkaset tysięcy dolarów to naprawde te 800zł za windowsa przy tym wygląda jak nic. U mnie w firmie 70% osob ma rozniaste linuxy z prostego powodu Pracuje sie na nich o niebo szybciej! Oczywiscie jesli chcesz pisac w .NET to oczywiscie najlepiej winde.

IMO jedyne co sluszne: C#! :)

Mnie róznież c# się podoba, w końcu to prawie jak Java.

pozdro

0

PawelW: Ale ta licencja na ten serwer, to zapewne nie jest koszt samego oprogramowania, ale również pomocy technicznej itp. No i nie jest to z pewnością serwer pokroju tego, co da się postawić na Windows workstation bez dodatkowych kosztów (o ile w ogóle) ;P
Co do szybkości pracy - wszystko zależy od tego, co się robi. Bo trzeba przyznać, że na tej samej maszynie Windows odpali się szybciej niż Linux z KDE przykładowo (mowa o standardowej instalacji). Rzecz w tym, że pod Linuxem jak się coś odpali, to to chodzi szybko, ale odpalanie jest (względnie) wolne. Więc jak ktoś spędza cały dzień roboczy w jednej/kilku aplikacji/ach to jest to szybsze, a jak co dwie minuty włącza coś innego, to nie koniecznie. Wszystko zależy od zastosowań.

P.S. Jeśli chodzi o koszty - raz dobrze skonfigurowanego Linuksa używanego zgodnie z przeznaczeniem wręcz niesposób zepsuć. O Windowsach się tego nie da powiedzieć ;).

0

Rzecz w tym, że pod Linuxem jak się coś odpali, to to chodzi szybko, ale odpalanie jest (względnie) wolne.

Naparwde u mnie serwer wstaje 10 razy szybciej na PLD niż wczesniej na win 2000, znam jeszcze kilka przypadków z windowsem xp. Cąły problem polega na tym ,ze nie wiadomo co w tym windowsie siedzi. Maszyna ma 3 giga ramu, pIV 3GHz.

A kiedy słysze ,ze Vista potrzebuje do działania giga ramu i 10giga pamieci na dysku to naparwde nie rozumiem jak on ma pozytywnie wplynać na wykorzystanie tejze technologi przez developerow (ale to jzu inna bajka)

Linux z KDE

To jzu gwoli dygresji powiem ,ze z KDE mało kto tutaj nie korzysta bo same problemy z tym są.Czasem wydaje mi się ze to taki windowsowy akcent wsród linuxów.

0

To takie pytanie trochę poza tematem: Z jakiego środowiska graficznego (jeśli w ogóle) korzystasz przy tych porównaniach szybkości? Bo jak porównujesz Win2k (którego nota bene nigdy nie używałem, więc nie wiem, jak to tam wygląda) z Linuxem w trybie tekstowym, to nic dziwnego, że Linux szybszy :P. DOS odpalał się na o wiele słabszych komputerach w 10 sekund ;).

0

Temat jest o językach programowania, a rodzi się święta wojna - Linux kontra Windows.

Odnośnie tematu głównego proponuję zajrzeć tu: http://www.tiobe.com/tpci.htm

Jak widać, od bardzo długiego czasu prym wiodą Java, C i C++, przy czym Java bije popularnością C++ ok. dwukrotnie, więc jednak przynajmniej trochę przewidywania o detronizacji C++ się sprawdziły. C++ staje się powoli językiem do zast. niszowych. Chyba nikt już nie pisze systemów Enterprise w C++, głównie ze względu na bezpieczeństwo. Dla niedowiarków pytania do przemyślenia: ile dziur maiła Corba / RPC, a ile dziur miało RMI-IOP; jak często wysypuje się OpenOffice (C++), a jak często Eclipse... Po prostu C++ może już bardzo niewiele zaoferować wobec Javy, szczególnie że ostatnio argument o większej wydajności C++ odchodzi w niepamięć. Jedynie pozostaje kwestia zużycia zasobów i wolnego startu aplikacji (Java 6 ma mieć kolejne ulepszenia w tej kwestii).

W tej chwili gdybym miał wybierać uczyłbym się programowania na bazie Javy, a potem C++.
Ale i tak najważniejsze to znać wzorce projektowe, umieć myśleć analitycznie, tworzyć algorytmy, mądrze używać dostępnych struktur danych itp. Znajomość samych bibliotek konkretnego języka to za mało. Takie nowinki jak Ruby zostawiłbym sobie na deser, żeby się pobawić w wolnym czasie. Mocno przereklamowana sprawa, może zjeść kawałek rynku dla PHP, ale Javy nawet nie draśnie.

0

Pod tym linkiem kryje się ciekawy projekt
http://www.projekt-hio.info/index.php?page_id=home

Jak dotychczas dyskusja dotyczczy evolucji językow/programowania.informatyki a co jesli czeka nas rewolucja?
Jesli powstanie język ,które nie opiera się głównie na dzialaniach matematycznych.loficznych(nie wiem jak to anzwac) ale operuje na zupelnie abstrakcyjnych formach ,ktore pozwolą uczestniczyc w projekcie nie tylko informatykom ale rozniwez roznej masci humamistom czy inynierom róznych dziedzin. Rozwój systemu bedzie polegał takze na rozwoju osob go tworzących ,traktowanych jako integralna czesc owego systemu.

To tyle w temacie języków przyszłosci ,a co to windowsów i linuxow to zeby to skonczycto powiem tylko ze na poczatku mialem KDe ,pozniej window makera i za abrdzo wplywu GUI na szybkosc uruchamiania serwera nie widzialem. Kwestia byla taka ze windows mielił i mielił te pliki a ze ich w projekcie bylo kilkadziesiat tysiecy to tyle to trwało. Nie wiem moze on je dekompiluje w locie i wysyla rozwiązania do Redmond.

Pozdro

0

@Krolik: Wiem, że w kwestii informatyki rok to bardzo dużo czasu, ale w zeszłym roku byłem na konferencji dotyczącej bezpieczeństwa właśnie (WKiOI), na której poruszony został temat właśnie Javy na kartach chipowych. I specjaliści w tej dziedzinie (przedstawiciele producenta kart chipowych stosowanych w ochronie informacji) twierdzą, że stosowanie tego typu rozwiązań drastycznie obniża bezpieczeństwo. Nie dlatego, że Java jest dziurawa (choć to też, w owym czasie jakaś poważna dziura w Maszynie Wirtualnej Javy został wykryty), ale dlatego, że jako język wyjątkowo wysokiego poziomu obniża możliwości programisty nad tym, czym zajmuje się procesor. A w przypadku algorytmów kryptograficznych jest to wyjątkowo istotne, gdyż w przypadku programów w Javie wystarczy przeanalizować pobór mocy przez kartę, by odczytać klucz.

P.S. Z tego co wiem, to OpenOffice jest pisany właśnie w Javie. To dlatego jest tak niemiłosiernie wolny.

0
Adam.Pilorz napisał(a)

P.S. Z tego co wiem, to OpenOffice jest pisany właśnie w Javie. To dlatego jest tak niemiłosiernie wolny.

OpenOffice pisane jest w C++, natomiast niektóre jego moduły w Javie.

0

Adam Pilorz napisał:

W firmach przeważa Windows? Muszę Cię wyprowadzić z błędu. W wielu firmach są instalowane Linuksy. Dlaczego? Bo jest taniej, zatrudnia się speca od Linuksów i każda sekretarka dostanie system, w którym nie zauważy, że to nie jest Windows. Bo wszystko robi się w dzisiejszych Distro tak jak w Windowsach, a zarówno wsparcie jest tańsze, jak i sam system

Nie przesadzajmy. O jakich firmach mówisz? Mogę się założyć, że w więcej jak 95% komputerów w firmach zainstalowany jest system MS Windows. Mówię oczywiście o ogóle działalności gospodarczych w Polsce.

0

Hmm... Nie pracowałem we wszystkich polskich firmach, które wykorzystują komputery do swej działalności. Tym bardziej nie pracowałem przy każdym z tych komputerów. Mam informacje o niewielkiej części Polskiego rynku, ale trzebaby powołać się na jakieś ogólnopolskie statystyki. Czy są takie? Nie widziałem.

0

Zależy czym te firmy się zajmują. Niewątpliwie wiele firm używa u siebie Linuksa, może nie w 100% ale całkiem spory udział ten system ma. Wśród moich kontrahentów sprawa wygląda mniej więcej pół na pół, przy czym na Windows są zwykle stacje klienckie, a serwery na Linuksie lub BSD, czasem komercyjnych Unixach (HP UX). W firmach programujących w Javie na ogół używają Linuksów, bo po co im Windows, jak Java lepiej chodzi na Linuksach.

OpenOffice ładuje się niemiłosiernie wolno dlatego, że musi załadować niezliczone tony natywnych bibliotek, które zaciąga głównie z dysku, a nie dlatego że ma nieliczne moduły w Javie. Sama szybkość pracy jest bez zarzutu. Mogliby poprawić jakość, ale to już kwestia do wątku "OpenSource sux".

Java nie jest WOLNIEJSZA od C++, jedynie się wolniej uruchamia i zżera zwykle więcej zasobów, co wcale nie jest takim dużym problemem. Serwerowa JVM optymalizuje kod bardzo dobrze, tylko trzeba poczekać trochę, aż przekompiluje wszystkie klasy (zwykle kilkanaście - kilkadziesiąt sekund od startu). Dlatego na początku po starcie serwer się muli, a później się rozpędza. Zauważ, że kompilowany kod Javy np. gcj wykonuje się o niebo wolniej niż JIT-interpretowany na maszynie wirtualnej Suna czy IBM, więc jakość tego drugiego jest naprawdę bardzo wysoka. Nie mówiąc juz o tym, że np. w benchmarkach C++ kompilowane GCC przegrywa notorycznie z Javą.

Jeszcze jedna ważna rzecz na korzyść Javy: standardowa biblioteka klas do Javy jest OpenSource, a do .NET nie.

0
Krolik napisał(a)

Nie mówiąc juz o tym, że np. w benchmarkach C++ kompilowane GCC przegrywa notorycznie z Javą.

Dziwne bo ilekroć widywałem tego typu porównania to na ogół Java sromotnie przegrywała z C++ (w ekstremalnych przypadkach ponad 10 razy wolniejsza!). Chodzi głównie o różne typy sortowań (obiektów lub ich wskaźników/referencji) z użyciem standardowych kontenerów, na różnych systemach i przy użyciu różnych kompilatorów.

0

Popieram i nie potrzeba mi udowadniać jak Java jest super bo widze programy w niej napisane i w porównaniu z ich odpowiednikami z C++ to wolne krowy.

0

To może tak parę przykładów?

http://www.idiom.com/~zilla/Computer/javaCbenchmark.html

To jest i tak stary benchmark, obecnie Java jest szybsza i różnice są jeszcze mniejsze.

"Two of the most interesting observations regarding this issue are that:

  1. there is a similar "garbage collection is slow" myth that persists despite decades of evidence to the contrary, and
  2. that in web flame wars, people are happy to discuss their speed impressions for many pages without ever referring to actual data."

Problem w tym, ze różnice są rzadko większe niż 50%. A tyle to i jest między różnymi kompilatorami C++. Jeśli program alokuje dużo mało obiektów intensywnie, Java będzie zawsze szybsza niż C/C++, chyba że programista C napisze sobie własny specjalizowany alokator (i zrobi przy tym ileś błędów i aplikacja się wysypie w najmnije oczekiwanym momencie). Wszystko zależy od tego jacy programiści pisali kod.

Ostatnio robiłem benchmarki Tomcata (Java) i Apache'a (C). Tomcat jest tylko o jakieś 30% wolniejszy, ale benchmark był nieco nie fair, bo Tomcat zwracał kod generowany serwletem, a Apache statyczny z pliku... Dlatego ile razy mam powtarzać, że różnice nie są tak wielkie, by miały jakiekolwiek praktyczne znaczenie?!

0
Krolik napisał(a)

To może tak parę przykładów?

http://www.idiom.com/~zilla/Computer/javaCbenchmark.html

To jest i tak stary benchmark, obecnie Java jest szybsza i różnice są jeszcze mniejsze.

No to tak dla równowagi (pierwsze z brzegu) ;)

The Java Faster than C++' Benchmark Revisited
The Java (not really) Faster than C++ Benchmark

A tak w ogóle, to nie sugerowałbym się za bardzo tymi wszystkimi benchmarkami bo zakładają one błędne założenie jakoby style programowania w obu językach były takie same.... A nie są ;)

0

Nawet w tych, co podałeś wyniki nie są porażające (średnio Java nie jest nawet 2 razy wolniejsza). Przy czym zauważ, co jeden z tych gości napisał we wnioskach: jest nieporównywalnie trudniej napisać program w C++, żeby wykonywał się tak szybko. Myślę, że jakby zrobił ten program w asmie, to wycisnąłby z maszyny kolejne kilkadziesiąt procent więcej. C++ daje duże pole do popisu dla optymalizacji kodu, Java nie aż takie, więc nie dziwię się, że da się uzyskać dużą różnicę na korzyść C++. Mogę Ci jednak pokazać równie bezsensowny benchmark, w którym Java będzie ok. 3 razy szybsza niż C:

C++:

for (int i = 0; i < 1000000; i++) {
  int* x = new int;
  delete(x);
}

Java:

for (int i = 0; i < 1000000; i++) {
  Integer x = new Integer();
}

Dlatego jeśli czasem jest tak, a czasem inaczej, można spokojnie powiedzieć, że Java dorównuje szybkością C++ w przeciętnych projektach bez szczególnej optymalizacji. To że programy się mulą jest winą złych algorytmów, niedbałego programowania, a nie języka. W Javie jest niewątpliwie trudniej o błędy obniżające wydajność. Widziałem symulator sieci radiowej napisany w C, który działał wolniej niż Javowy, bo zapewne goście mysleli, że jak napiszą w C, to będzie z automatu śmigać, a goście od Javy po prostu znali się na optymalizacji i wydajnym kodowaniu.

Inny przykład, który podałem wcześniej: Apache i Tomcat - różnica naprawdę niewielka, a oba są na pewno zoptymalizowane do granic możliwości.

1 użytkowników online, w tym zalogowanych: 0, gości: 1