JAVA, C++, Delphi czy Pascal ? :)

JAVA, C++, Delphi czy Pascal ? :)
HT
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:22
0

Cześć,

jestem full stack web developer z wyboru, chciałbym się nauczyć nisko poziomowego języka, tylko nie wiem jakiego. Wszystkie mnie interesują, ogólnie podchodzę do tego tak, żeby mieć motywację nauki muszę robić coś ciekawego w języku którego się uczę, na Delphi mógłbym pomóc w rozwoju pewnej gry http://www.kamremake.com/pl/contributing/ ( polecam ). Ale też nie chciałbym się uczyć czegoś co nie ma perspektyw. Oprócz Delphi interesuję mnie też C++ na początku pewnie pisałbym jakieś wirusy pod windowsa. A JAVA ogólnie jest bardzo ciekawa, tylko że ma tyle możliwości, że nie wiem co bym chciał na niej robić. Macie jakieś inne propozycje bądź doświadczenia ?

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
0

Java :] Jak sam napisałeś - jest bardzo wszechstronna.

Pisanie wirusów na Windowsa to słaby powód do nauki języka, no chyba że rzeczywiście chcesz na tych wirusach zarabiać :P


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Łódź
  • Postów:1402
1

Jeśli robisz hobbystycznie, pisz w tym, który Cię zainteresuje, albo jest projekt, do którego chciałbyś się przyłączyć. To nie ma większego znaczenia... Nauczysz się w jednym, będziesz musiał coś zrobić w innym, też w rozsądnym czasie załapiesz.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
nalik
  • Rejestracja:około 9 lat
  • Ostatnio:4 dni
  • Postów:1039
0

Może zamiast uczyć się języka zainwestujesz w naukę programowania systemowego? To nie to samo. Żeby pisać wirusy panie hacker musisz znać zasady działania systemu.
Java nie jest niskopoziomowa. Delphi w praktyce ogranicza cię do windowsa i w ogóle jest starociem. Jak już, zważywszy na to że celujesz w windowsa jak wnioskuję, to wybrałbym C#. Ma zastosowanie w webie, ma dostep do windowsowego api, łądnie się łączy z ewentualnym c++.

edytowany 4x, ostatnio: nalik
1
nalik napisał(a):

Delphi w praktyce ogranicza cię do windowsa i w ogóle jest starociem.

Do Windowsa... oraz Androida, iOS, OS X, a mówi się, że od jesieni zaczyna wsparcie dla linuxa.
I jak można nazwać starociem coś co miało premierę ostatni raz z 2 miesiące temu (Delphi 10 Seattle).
Nie, Delphi nie zatrzymało się na Delphi 6 z 2001r.

nalik
A ta premiera się w ogole odbyła? Bo słyszałem, że jeden z dwóch developerów się nie pojawił i musieli odwołać :D
flowCRANE
@nalik - idź sobie do Flame i tam osiądź na dobre;
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:6 minut
  • Lokalizacja:Tuchów
  • Postów:12171
2
nalik napisał(a)

Delphi w praktyce ogranicza cię do windowsa i w ogóle jest starociem.

Nie, nie ogranicza się do Windows i nie jest starociem; Poczytaj najpierw geniuszu, zanim zaczniesz cokolwiek krytykować i przedstawiać komukolwiek fałszywy obraz rzeczywistości; Delphi to nie tylko IDE do klepania formatek i robienia aplikacji bazodanowych - to znacznie, znacznie więcej;

Istnieje też Lazarus, posiadający moduł importu projektów z Delphi; Wykorzystuje FPC, który umożliwia tworzenie najróżniejszego oprogramowania na najprzeróżniejsze platformy, łącznie z Game Boy Advance; Do tego w pełni darmowy, z otwartymi źródłami; Gorszy od Delphi pod wieloma względami, jednak coś za coś;


@htcrms - jak potrzebujesz coś niskopoziomowego to wybierz C lub C++; Języki bardzo popularne, mnóstwo w nich napisanych i nowych projektów; Jeśli chcesz nauczyć się czegoś, co przyda się w przyszłości to są to na pewno ciekawe propozycje;

Możesz też wybrać Delphi lub Free Pascala, bo oprócz wysokopoziomowego API (RTL, VCL/LCL itd.) umożliwiają też bardziej niskopoziomowe operacje - obsługa WinAPI, wstawki asm; Nie są to języki znajdujące się w czołówce popularności, jednak skoro masz już upatrzony projekt do przyłączenia się, to może i warto.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:24 dni
2

@htcrms bierz rusta. Szkoda Ci życia i włosów na C/C++.

TD
C chyba warto się nauczyć żeby rozumieć jak wszystko działa pod spodem.
nalik
  • Rejestracja:około 9 lat
  • Ostatnio:4 dni
  • Postów:1039
2

Poprzedni post został skasowany więc rozwinę myśl.

Ja nie widzę na rynku zapotrzebowania na programistów delphi. Może freelancerom się przydaje, ale ofert pracy nie widać.
Być może dlatego, że:

  • w embedded i programowaniu systemowym używa się głównie c
  • c++ w middlewerze i tam gdzie ktoś nie chciał się babrać w c
  • wielkie molochy biznesowe siedzą na javie i .net
  • backend ma swoje techologie, które zmieniają się jak w kalejdoskopie
  • frontend jest zdominowany przez js i języki, które się do niego kompilują
  • HPC siedzi dalej na fortranie i jedynie moze julia cos uszczypnie
  • Do analizy danych i data science jest matlab, octave, R, python ze scipy i numpy
  • OSX ma objective-c i teraz swifta
  • Android ma jave, plus pare fremeworkow.
  • Linux to nie platforma, gdzie mozna zarobic kase na aplikacjach GUI. Istnieje Vala, Qt tez się tu zadomowił.
  • Na horyzonice pojawiły się nowe obiecujące języki - scala, go, swift, rust.
    Więc zostaje co? Gdzie się tak sprawdza? Cross-platform GUI + reszta w innym języku? Wiem, że jest całkiem sporo lagacy softu napisanego w delphi.

Z mojej perspektywy - a jestem programistą c, c++ (czasami python i java) delphi to proba reanimacji trupa.

Nie poleciłem mu także:

  • c, bo jest do zastosowań niskopoziomowych i nie sprzyja produktywności;
  • c++ bo wymaga dużej inwestycji czasu
  • java - bo mimo że by pasowałaby do jego proflu nie jest językiem programowania systemowego
  • go - chwilowo żyje głownie na uniksach
  • rust - jest jeszcze niestabilny i niepewny
  • D - bo jak na razie się nie przyjął

A więc tak, moja lakoniczna wypowiedź wynikała z moich przemyśleń.

edytowany 21x, ostatnio: nalik
Zobacz pozostałe 3 komentarze
nalik
Nie krytykuję języka, bo nie uważam, że jest zły. Śledzę za to uważnie rynek pracy.
flowCRANE
Prześledź może słownik, bo najwyraźniej nie wiesz co oznacza słowo "reanimacja";
nalik
Rozwinąłem swoją wypowiedź jeszcze bardziej, żeby nie było :)
fasadin
" c++ w middlewerze i tam gdzie ktoś nie chciał się babrać w c" :DDD widze ekspert "wielkie molochy biznesowe siedzą na javie i .net" :DDD "- Android ma jave, plus pare fremeworkow. " :DD ooo dobry poczatek dnia
nalik
Zerknij ile ofert pracy w takim IBM, HP,Sabre Comarchu, etc. to Java. To miałem na myśli. Co do mideleware, kwestia definicji, zakres jest szeroki. Sam (zawodowo, nie hobbystycznie) pisałęm w c na embedded, w c++ na symbiana, w c++11, w c++ + mfc (auć :[ ), qt, zajmowałem siętakże Androidem od strony warstwy systemowej/bebechów (nie frameworku). współpracowałem z hardocorowymi zwolennikami zarówno c jak i c++. Możesz mieć inne odczucia, ja przez 8 lat pracy zawodowej mam akurat takie. Więc jak uważasz inaczej to nie bądź trol i rozwin myśl.
HT
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:22
0

Minęło 8 miesięcy odkąd założyłem ten wątek, w temacie zmieniło się to, że wybrałem JAVA która jak dla mnie zwłaszcza JDK7 jest genialna :). Przeczytałem książkę, porobiłem trochę mini programów i teraz mam problem zawodowy, bo jestem umoczony w LAMP Linux, Apache, Mysql, PHP, itp.. Nie żebym narzekał, bo to są bardzo fajne technologie, 4 lata praktyki, ale po poznaniu JAVA mam wrażenie, że w PHP muszę się bardziej narobić by stworzyć coś jakościowego(zgodnego ze wzorcami) niż w JAVA, zwłaszcza, że ostatnio robię coraz to bardziej wymagające projekty. Przeskoczyć nie mogę, bo muszę cały czas normalnie zarabiać, a żeby osiągnąć jakiś poziom w JAVA to muszę praktykować intensywnie przez co najmniej dwa lata. Zarabiam jako freelancer, ostatnio założyłem DG, mam kilku dobrych klientów którym od 2 lat stale świadczę usługi, więc przeskok z PHP na JAVA nie wchodzi w grę... Co byś cię poradzili ?

0

A umiesz php 7, to ucz sie w międzyczasie java 8.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)