Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana języka programowania
Forum PHP.pl > Inne > Hydepark
mentoos
Już ponad 3 lata programuję w PHP. Zastanawiam się jednak nad zmianą języka, na taki którego używałbym zawodowo. Oczywiście, starego i dobrego PHP będę używał jeśli będzie chodziło o projekty mniejszego kalibru smile.gif. Oprócz programowania pod Web, chciałbym się zająć tworzeniem oprogramowania pod np. jakieś urządzenia lub Desktop.

Jaki język polecalibyście jako drugi główny oprócz PHP. Wiem, że liczą się C/C++ , Java i Python.

BTW, jak myślicie, z jakich języków programowania korzystają programiści poważnych firm i instytucji jak np. NASA czy IBM lub firmy zajmujące się robotyką?
LBO
Java i .NET zawsze będą się liczyć.
l0ud
C/C++ też. Wybór języka zależy od tego, co zamierzasz pisać smile.gif Robotyka to raczej głównie C / Asembler
mentoos
Interesują mnie aplikacje sieciowe, desktopowe też mógłbym tworzyć. Ciekaw jestem, jakich języków programowania używa się do pisania np. systemów sterowania rakietami w myśliwcach, albo przy sondach kosmicznych.
230005
Wybierz C#. Obiektowy, zarządzany i statycznie typowany, ale nie tak sztywny jak Java. Powiedziałbym, że z języków silnie typowanych jest najdynamiczniejszy. Do tego możesz w nim używać choćby wskaźników, jak w C++, ale jest wygodniejszy w użyciu od tego języka. Szybko się rozwija, ma doskonałe IDE (i na web i na desktop) i bardzo prosto się w nim pisze. No i włada wszechpotężnym LINQ (dla was to może nic takiego, ale kiedy ja - skromny programista php to zobaczyłem, to prawie mi włosy z wrażenia wypadły).
Zyx
... i de facto działa tylko w "jedynym słusznym" systemie operacyjnym. To też by wypadało dopisać, jak się coś poleca.

C++ jest używany do tworzenia części aplikacji desktopowych, ale wielu jego programistów (i sam autor) przyznaje, że jest on źle zaprojektowany. Dla mnie pisanie w C++ to akt masochizmu smile.gif.

Java - najpopularniejszy język programowania na świecie, z ogromną ilością narzędzi, a programy w nim napisane ruszą wszędzie. Stosunkowo łatwy do nauczenia, jeśli chodzi o filozofię pracy i gramatykę. Z drugiej strony programistów Javy też jest na pęczki i o lepsze stanowiska trzeba konkurować.

W wielu dziedzinach jednak liczą się języki spoza głównego nurtu. W zastosowaniach telekomunikacyjnych dominuje Erlang; firm tworzących w nim oprogramowanie nie ma aż tak dużo, ale z doświadczeń kolegów wiem, że jak się go przyzwoicie nauczysz, to dobrą pracę masz praktycznie gwarantowaną. Podobnie jest z Common Lispem.

Jeśli chodzi o sondy kosmiczne, to jest to zupełnie inna technologia od tej, którą znamy, począwszy od sprzętu, na oprogramowaniu skończywszy. Przykładowo, w sondach NASA wykorzystywane są procesory Mongoose-V, które są odmianami procesorów R3000 z... 1988 roku zaprojektowanymi do działań w warunkach kosmicznych (dodana np. odporność na promieniowanie). Zaś oprogramowanie do takich sond pisze się np. we wspomnianym wyżej Common Lispie (NASA Deep Space 1)
230005
Cytat
... i de facto działa tylko w "jedynym słusznym" systemie operacyjnym. To też by wypadało dopisać, jak się coś poleca.


Dlatego tego nie napisałem, bo pewnie i tak by pisał soft pod Windę smile.gif...
Zyx
Robotyka i Windows... na pewno.
230005
Cytat
Interesują mnie aplikacje sieciowe, desktopowe też mógłbym tworzyć


Hmmm... widziałeś to zdanie Zyx? A to że wcześniej mentoos wspomniał o programowaniu urządzeń, nie znaczy, że C# polecam jako właściwy do tego język. Raczej jako dobry język _po_prostu_. I tyle.
Wydawać by się mogło, że w ponoć inteligentnym towarzystwie programistów, nie powinienem musieć tego tłumaczyć...
Zyx
Wydawałoby się, że w inteligentnym towarzystwie nie powinienem tłumaczyć, że jak ktoś pisze jasno, że interesuje go robienie A, B i C, to mu się poleca język, który pozwoli mu robić A, B i C. Mentoos przyszedł po konkretną radę, a nie po propagandę mającą niewiele wspólnego z jego problemem.

Cytat
A to że wcześniej mentoos wspomniał o programowaniu urządzeń, nie znaczy, że C# polecam jako właściwy do tego język.


Jak się nie poleca C# do tego, o co ktoś inny prosi, tylko chce się po prostu przedstawić możliwy wybór, to się nie zaczyna rozmowy od "Wybierz C#".
230005
Szukasz dziury w całym...

Cytat
Jak się nie poleca C# do tego, o co ktoś inny prosi, tylko chce się po prostu przedstawić możliwy wybór, to się nie zaczyna rozmowy od "Wybierz C#".


No tak, bo skoro wcześniej padło już kilka nazw, to ja też je muszę wymienić, żeby równouprawnienie było biggrin.gif. Wymieniłem ten język, bo pokrywa dwie z trzech dziedzin wymienionych przez założyciela tematu i jest moim ulubionym.

Miło, że w tych paru zdaniach mojego pierwszego posta w tym temacie doszukałeś się propagandy. Może jeszcze obrażam czyjeś uczucia religijne?

No i ta moja "propaganda" jednak ma nieco wspólnego z jego problemem, skoro w c# można pisać oprogramowanie i na web i na desktop. Czy nie? Bo może o czymś nie wiem i się nie da?

Ty naprawdę uważasz, że nie mam racji, czy jesteś po prostu zboczonym polemistą?
darko
web:
java, python, c# (asp)

urządzenia przenośne:
c++ (Qt), python, objective C

desktop:
c#, java, c++ (Qt), python

Cytat(Zyx @ 5.12.2010, 08:31:07 ) *
C++ (...) (i sam autor) przyznaje, że jest on źle zaprojektowany.

Jakieś źródło?
LBO
Cytat(Zyx @ 5.12.2010, 14:05:21 ) *
(...) jak ktoś pisze jasno, że interesuje go robienie A, B i C (...)


Na moje tam było A i B lub C
marcio
@darko dobrze rozpisal...

chcesz pracowac i dobrze zarabiac(bedac dobrym koderem oczywiscie) polecam Jave

Projekty open source c/cpp/python i ogolnie linux'y
na winde c#/java/cpp(przewaznie visual cpp)
Speedy
Cytat
Jaki język polecalibyście jako drugi główny oprócz PHP


ASSEMBLER
emajl22
Cytat(Speedy @ 6.12.2010, 23:57:28 ) *
ASSEMBLER


+ powodzenia w jego nauce sciana.gif
Speedy
Jakie pytanie, taka odpowiedź. Języków jest multum i dopiera się go w zależności od potrzeb.
Jeśli chodzi o typowe oprogramowanie użytkowe (mam na myśli: web/desktop/mobile), to każda ogarnięta osoba, która zna się na rzeczy, po poznaniu składni, środowiska i bibliotek, może pisać w czym chce i co chce.
aart3k
Tak naprawdę to musisz nauczyć się programować - język to tylko narzędzie, którym realizujesz swoje cele. O wiele ważniejsze niż umiejętność programowania w danym języku jest znajomość zagadnienia (chcesz robotykę - musisz znać architektury, polecam zacząć od 8051), zdolność analitycznego myślenia. Podkreślam jeszcze raz - język w którym zrobisz program to tylko narzędzie.
Mephistofeles
Assembler przy robotyce czy ogólnie elektronice jest bardzo dobrym wyjściem, programowanie (zaznaczam, że nie mówię tego z własnego doświadczenia, a jedynie na podstawie opinii innych) w nim nie jest specjalnie trudne gdy rozumie się budowę sprzętu, a można więcej zmieścić w ograniczonej pamięci mikrokontrolera.
thek
By ci ktokolwiek sensownie odpowiedział, musiałbyś określić swoje zainteresowania i cele. Ogólnie można przyjąć, że im język jest niższego poziomu lub mniej popularny, tym trudniejsze biegłe nim posługiwanie, a także bardziej opłacalne. Dużo racji ma aart3k czy Speedy, gdyż język to tylko narzędzie. Jeśli rozumiesz ogólne założenia i metodologię programowania to język jest sprawą mniejszej wagi. Osoba z głową do programowania będzie rzeźbić w dowolnie wybranym języku bardzo szybko coś, czego inne osoby nauczyły by dopiero po kilkukrotnie dłuższym czasie. Czemu? Bo większość języków wymaga myślenia podobnego jako podstawy. Przykład? Znasz Turbo Pascala? Szybko złapiesz object pascala (Delphi), ale także C, którego znajomość pozwoli przejść do C++/Javy/PHP i wielu języków skryptowych, gdyż mają podobną składnię. Tutaj osoby ze zdolnościami algorytmicznymi zabłysną. Jeśli poprą je solidną dawką matematyki to wymiotą słabszych.

Rzucono tutaj Assemblerem, który ma zaledwie około 100 instrukcji w wersjach najprostszych i w technikach kiedyś ludzie musieli na pamięć je wszystkie znać smile.gif Problem jednak jest z prawidłowym ich ułożeniem by kod działał jak chcemy i tu jest właśnie pies pogrzebany. Mimo prostoty sprawia problem, bo wymaga innego myślenia niż programowanie w PHP czy Javie. Nie ma ułatwień w postaci nawet prostej pętli while czy typu object lub array winksmiley.jpg Za to jest mnóstwo dłubaniny i myślenia co z czym oraz jak i gdzie.
lDoran
Najpierw C# później ASP.NET MVC
vokiel
JavaScript

- urządzenia przenośne - tablety, smartfony, czy w ogóle tel. kom.
- telewizory - widżety
- gry - na web, na mobile
- desktop - widżety, gadżety etc, aplikacje otwierane w przeglądarce, czy w środowisku AdobeAir
- web - można pisać całe aplikacje internetowe, z tym, że do tego zwykle potrzeba jeszcze jakiegoś backend'u, który w js jeszcze kuleje
230005
Telewizory? Mógłbyś bardziej rozwinąć myśl? Strasznie mnie zaciekawiłeś.
Mephistofeles
Nowe telewizory z funkcją internetu mogą odpalać takie bajery.
vokiel
Cytat(230005 @ 13.12.2010, 12:14:06 ) *
Telewizory? Mógłbyś bardziej rozwinąć myśl? Strasznie mnie zaciekawiłeś.

Samsung na pewno, bo niedawno nawet Youtube na nim odpalałem. Nie wiem czy to nie jest przypadkiem oparte na Samsung Bada. Do tego ostatnio widziałem gdzieś, że jakiś inny producent też ma takie coś (Panasonic chyba).
chlebik
Oh jak dawno nie bylo takiego tematu smile.gif Ja udziele jednej rady:

Jak juz wybierzesz sobie jakikolwiek jezyk z listy podanych przez przedmowcow, to po prostu zostan w jego uzywaniu ekspertem.

Dziekuje za uwage.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.