Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uporządkowanie nauki.
Forum PHP.pl > Inne > Hydepark
Wazniak96
Witam.

no więc tak wiem, ze zaczynając naukę programowania powinienem zacząć od html/css ale wyszło tak, że zacząłem naukę od PHP i MySQL. Obecnie myślę, że opanowałem PHP na poziome podstawowym tzn. ogarniam co do czego, znam podstawy OOP, umiem obsługiwać MySQL, potrafię obrabiać tekst przesyłany do nas przez formularze, rozumiem mniej więcej co PHP zwraca nam w błędach etc. Wiem, że muszę się jeszcze sporo nauczyć z PHP ale mam jeszcze na to czas. Tylko pytanie czego dalej się uczyć .? Jak uporządkować naukę.? w HTML i css potrafię napisać prostą stronkę na podstawie kursów ale nie jest ona zbyt estetyczna itp. Co doradzacie abym teraz kuł .? smile.gif

Jeżeli możecie odeślijcie mnie do jakiś kursów, ewentualnie zadajcie jakąś pracę domową żebym po prostu nie robił bezsensownych projektów, z których nic nie wyniosę i niczego się nie nauczę.

Polegam na waszym doświadczeniu, bo jak wiadomo każdy miał swoje początki a nie ma co sobie obiecywać, że pójdzie się na studia i po zakończeniu będzie się alfą i omegą i wszystko będzie się umiało zrobić. Wszystko zależy od nas i naszych dyspozycji, nauczyciele mają nas tylko poprowadzić w naszej nauce wink.gif

Tak że czekam na wasze instrukcje ;p
kilab
Sorry za brak pomocy, mam dysmotywację pomocy ;/
peter13135
Po pierwsze, też jestem początkujący, więc moja opinia to tylko opinia amatora wink.gif

Cytat
no więc tak wiem, ze zaczynając naukę programowania powinienem zacząć od html/css ale wyszło tak, że zacząłem naukę od PHP i MySQL


Nauka PHP ma sens wtedy, gdy chcesz nauczyć się programować strony. Jeśli chcesz się nauczyć po prostu programować to na początek proponował bym C/C++. Ale ilu programistów, tyle opinii wink.gif. Niektórzy uważają, że warto zaczynać naukę od PHP bo jest łatwy. Ja tą drogę wybrałem i mam mieszane uczucia.

Aby umieć programować, znajomość HTML I CSS nie jest Ci potrzebna. Jest to Ci potrzebna tylko wtedy, jeśli chcesz robić strony internetowe. Do czego wypadało by umieć i PHP i MySQL i jQuery i HTML i CSS. Oczywiście, w różnym stopniu w zależności od stanowiska pracy.

Jeśli Twoje strony są nieestetyczne, nie odnajdujesz się w grafice, estetyce (tak samo jak ja) to proponuję Ci zainteresować się boostrapem (google -> bootstrap). Wiele, problemów "estetycznych" załatwi on za Ciebie wink.gif.

Jeśli już umiesz jako tako PHP, warto się zapoznać z innymi jezykami (jak wspomniałem - C/C++, może potem może java i trochę assemblera, tak po prostu, żeby mieć rozeznanie w innych językach). Sama znajomość PHP może dawać błędną wizję programowania. Jak już będziesz miał taką ogólną wiedzę, to może nauka frameworka w wybranym języku smile.gif ? W zasadzie znajomość języka programowania + framework + umiejętność programowania wystarczy, żeby znaleźć jakąś tam pracę (albo chociaż praktyki, czy tam płatny staż).
Jeśli wybierzesz PHP to frameworkiem może być np. symfony2, jeśli java to np. Swing, jeśli c++ to np. Qt, chociaż w wymaganiach pracodawców "Qt" jeszcze nie widziałem, ale mi ten framework się podoba wink.gif

Co do stron www, programista z którym pracuje, mówi, że gdyby był na moim miejscu, to do stron www użył by innych technologii niż PHP (Ruby on rails chyba miał na myśli).


Wazniak96
Kolego kilab jeżeli nie masz nic do wniesienia do tematu to się proszę nie odzywaj bo mi w tym nie pomożesz. Po prostu czasami popełniam błędy i nie wychodzi to z mojego lenistwa bo idiotą nie jestem tylko po prostu z tej "choroby". Jeżeli nie wierzysz mogę przesłać skan zaświadczenia haha.gif

Peter wielkie dzięki za odpowiedz, trochę źle sformułowałem moją wypowiedz. Chodzi mi własnie o pisanie stron internetowych bo na programy komputerowe jakoś nawet żadnych pomysłów nie mam wink.gif PHP ogólnie nauczyłem się dlatego jako pierwsze bo akurat miałem taki grymas żeby stworzyć swój czat GG i tak jakoś wyszło, że mi się spodobało więc chcę iść mniej więcej w tym kierunku, a CzatyGG to raczej mało do ogarnięcia i wiele więcej się w tym nie nauczę bo praktycznie do tego wystarczy podstawa i dobre myślenie.

Terminy które mi tutaj podałeś na pewno ogarne i poszukam w necie czego dotyczą. Szczere dzięki smile.gif

Po ogarnięciu o co chodzi z nowymi pojęciami(chodzi mi głownie o frameworki) troszkę się zdziwiłem tym co napisałeś że znajomość postawienia np WordPress i konfiguracje i edycja go starczą by podjąć pierwszą pracę. Zawszę myślałem że bez umiejętności napisania własnej, estetycznej grafiki nie ma co się pakować w do pracy.

Co do używania bootstrapa. Myślę ze problemy dotyczące grafiki nie wynikają z tego że nie mam po prostu do tego zdolności etc tylko z tego, że nigdy tego nie robiłem i nie mam takiej wiedzy. Po prostu jeżeli bym zaczął w tym robić to w końcu wyuczyłbym się co i jak. wink.gif

Dla tego proszę o jakieś kursy na temat grafiki, które polcacie ;D
solificati
Cytat(peter13135 @ 1.09.2012, 15:39:27 ) *
Jeśli chcesz się nauczyć po prostu programować to na początek proponował bym C/C++.

Zawsze mnie zastanawia jak to jest, że ludzie polecają c++ jednym tchem ze zwykłym c. C++ należy się uczyć tylko wtedy, gdy jest nam potrzebny. Jest masa lepiej zaprojektowanych, prostszych języków, które bardziej ubogacą warsztat programisty.
peter13135
Cytat
Po prostu czasami popełniam błędy i nie wychodzi to z mojego lenistwa bo idiotą nie jestem tylko po prostu z tej "choroby". Jeżeli nie wierzysz mogę przesłać skan zaświadczenia

Takie tłumaczenie jest śmieszne, a nawet żałosne.

Cytat
troszkę się zdziwiłem tym co napisałeś że znajomość postawienia np WordPress i konfiguracje i edycja go starczą by podjąć pierwszą pracę.


Gdzie ja takie coś pisałem questionmark.gif?


Cytat
Co do używania bootstrapa. Myślę ze problemy dotyczące grafiki nie wynikają z tego że nie mam po prostu do tego zdolności etc tylko z tego, że nigdy tego nie robiłem i nie mam takiej wiedzy. Po prostu jeżeli bym zaczął w tym robić to w końcu wyuczyłbym się co i jak.

Też tak myślę, tak samo możesz się nauczyć ortografii smile.gif Co nie zmienia faktu, że bootstrap znacznie uprości tworzenie szablonu.

Cytat
Zawsze mnie zastanawia jak to jest, że ludzie polecają c++ jednym tchem ze zwykłym c. C++ należy się uczyć tylko wtedy, gdy jest nam potrzebny. Jest masa lepiej zaprojektowanych, prostszych języków, które bardziej ubogacą warsztat programisty.

Polecam go, bo jego znajomość pozwala na bezbolesną przesiadkę na PHP, javę, c# itd. A jego nauka jest prosta, bo można pisać i strukturalnie i obiektowo. Jeśli masz coś lepszego do zaproponowania to napisz, sam chętnie się dowiem. Pisałem, że jestem amatorem, więc nie wiem wszystkiego wink.gif



Bateria
Przyłącze się do tematu. Może ktoś z was poleci jakieś języki programowania, które są przydatne i opłaca ich się uczyć (oprócz PHP i C++).
Wazniak96
Nie jest żałosne bo uwierz, że chodziłem na wiele zajęć które szkoła robiła dla takich jak ja a jakoś dalej popełniam błędy chodź nie tak często jak dawniej. A oprócz tego nie mam problemu raczej z niczym w sql więc nie wiem o co ci chodzi z tym że żałosne i że powinienem się uczyć. A poza tym te forum jest o PHP o ile się nie mylę a nie o pisaniu. A regulaminu przestrzegam bo staram się nie popełniać błędów. Więc proszę nie robić zamieszania.

Cytat(peter13135 @ 1.09.2012, 15:39:27 ) *
W zasadzie znajomość języka programowania + framework + umiejętność programowania wystarczy, żeby znaleźć jakąś tam pracę (albo chociaż praktyki, czy tam płatny staż).

Tutaj napisałeś. Być może źle zrozumiałem twoją wypowiedź i to wszystko.

Co do tworzenia w bootstrap szablonu to nie wątpię, że tak jest, po prostu jedni wolą tworzyć tak, ja wolałbym tworzyć sam pisząc kod.
peter13135
Jeśli chodzi o Twoją ortografię, to w sumie rażących błędów nie widzę, być może piszesz lepiej niż ja (też nie jestem mistrzem języka polskiego). Jednak jest tyle ułatwień (sprawdzanie pisowni w przeglądarce), że takie tłumaczenia są bezpodstawne.

Nie wiem jak ma się to :
Cytat
znajomość postawienia np WordPress i konfiguracje i edycja

do tego :
Cytat
języka programowania + framework + umiejętność programowania

To dwie różne rzeczy.

Pod hasłem "umiejętność programowania" mam na myśli po prostu umiejętność rozwiązania problemów programistycznych, implementacja algorytmów, wzorców projektowych itd.

Cytat
po prostu jedni wolą tworzyć tak, ja wolałbym tworzyć sam pisząc kod.

W takim razie assembler jest w sam raz dla Ciebie wink.gif

@Bateria
Nikt Ci nie powie konkretnie. Tutaj masz link do najpopuparniejszych jęzków programowania : http://www.tiobe.com/index.php/content/pap...tpci/index.html . W sumie dziwię się trochę, że C jest tak wysoko. Jak patrzę na oferty pracy, to do Stron internetowych standardowo wymaga się PHP (+ framework symfony2 lub zend, inne nie są tak często spotykane), MySQL, jQuery oraz podstawy HTML/CSS (ile razy już o tym było pisane ? )
W aplikacjach użytkowych chyba króluje c# i java, ze względu na szybkość tworzenia aplikacji w tych językach. C/C++ są językami niższego poziomu, więc programy w nim pisane mogą być wydajniesze, zajmować mniej miejsca, ale za to pisanie w nich zajmuje więcej czasu. No... ale porównując wydajność i szybkość pisania chyba trzeba by jeszcze mówić o konkretnych frameworkach.
Im większa popularność języka, tym więcej osób go zna, więc to pracy nie gwarantuje. Często opłaca się znać jakiś "egzotyczny" język, którego mało kto zna.
irmidjusz
Bardzo dużo firm szuka wykwalifikowanych programistów C, C++, COBOL bo to języki do zastosowań przemysłowych (urządzenia, maszyny, systemy osadzone, mikrokontrolery itd).
Java i C# to do pisania aplikacji, obecnie urządzenia mobilne to nowa ziemia obiecana.
A PHP to takie tam... stronki panie, stronki wink.gif
solificati
Po pierwsze to c++ to trudny język, skomplikowany. Z dość prostego powodu - został zbudowany w oparciu o inny język i dodano do niego dużo nowych funkcjonalności. Taki przykład różnicy między C++ a taką Javą. Masz klasę realizującą jakąś funkcję w systemie, która spełnia wzorzec obserwatora. W Javie piszesz klasę, pojawia się problem stworzenia listy obserwatorów - opakowujesz to w java.util.ArrayList i działa. Piszesz w c++: piszesz klasę, nie znasz całego c++, tylko głównie c, więc używasz najprostszej abstrakcji - wskaźników. Wiesz, że wskaźniki nie mogą wisieć, więc piszesz obsługę konstruktora kopiującego i destruktora - bo to wiesz, że napisać trzeba, znasz to oop w c++. I używasz jakieś szybkiej biblioteki listy, no bo jak już w c++ to używasz szybkich bibliotek. I raz na dziesięć uruchomień coś w programie nie działa. Bo lista korzysta z memmove zamiast cyklu copy/destroy do przenoszenia obiektów i Twoje wskaźniki pokazują na coś dziwnego. Wszystko dlatego, że C++ używa niskopoziomowych koncepcji w całkiem abstrakcyjnych ideach. Pamiętanie o tym i w ogóle wiedza o tym przydaje się tylko w tym specyficznym przypadku, gdy piszesz w c++.

W c++ złamano zasadę ortogonalności rozszerzeń języka. Rozszerzenia nie powinny zbyt mocno na siebie wpływać. Bo wtedy używając jednego musisz pamiętać o innym. W takich językach jak czyste C - to jest do ogarnięcia - w takim molochu jak C++ trudno analizować czyjś kod. Do tego zupełnie jak w C zasada jest taka, że jak coś da się zrealizować/zaimplementować w kompilatorze to jest to możliwe. Inne języki mówią wtedy - stop, ja czegoś takiego nie zrobię, a C zrobi. A C++ doda do tego dwa poziomy abstrakcji, dziesięć stron specyfikacji i też zrobi.


Cytat
Bardzo dużo firm szuka wykwalifikowanych programistów C, C++, COBOL bo to języki do zastosowań przemysłowych (urządzenia, maszyny, systemy osadzone, mikrokontrolery itd).

Oj nie mieszajmy. Racja, są poszukiwani, ale COBOLa wcale tak dużo nie potrzeba. I to nie do zastosowań przemysłowych a finansowych.
C owszem do systemów wbudowanych/mikrokontrolerów. Ale bardziej przemysłowe to są jednak sterowniki PLC i tam raczej się używa tych wszystkich dziwnych LD, FBD.
C++ bardziej się używa w krytycznych częściach aplikacji - serwery, brokery wiadomości, systemy transakcyjne, ale na całkiem wysokim poziomie abstrakcji.


Co do języków jakich warto się uczyć.
Dla webmastera moim zdaniem oczywistym wyborem jest JavaScript. Język, który jest tak bogaty został oparty o tak mało idei: wzorzec właściwości, domknięcia i funkcje jako obiekty pierwszej klasy i prototypowe dziedziczenie. Te trzy idee zajmują trochę czasu by załapać o co chodzi. Dziedziczenie prototypowe pozwala na ciekawsze projektowanie w innych językach a programowanie funkcyjne to podstawa.
Z książek i dla rozrywki to zawsze polecam to: http://mitpress.mit.edu/sicp/
Problem z takimi językami jak ruby czy python jest taki, że mają za dużo idei w sobie i chętnie je łamią gdy wygodnie.

W każdym razie ja polecam proste języki z nowymi ideami: scheme (czy jakikolwiek lisp), javascript (tutaj wyjątek bo nauka self'a to zbytni ostracyzm) i standard ML. To są języki koncepcyjne. A jak ktoś chce zobaczyć jak coś robić dobrze w real world to poelcam Erlang'a. Jakbym się czuł dobrze w pierwszych trzech to bym sięgnął po Clojure bo protokoły, reducers, core.logic i core.match to kawał dobrej roboty, która pokaże jak powinno się projektować abstrakcje. No i Haskell (ewentualnie Scala) pokaże co znaczy siła statycznego typowania. Cudowne, gdy piszesz program w Haskelu i jeśli się skompiluje to znaczy, że na 90% robi wszystko dobrze.



Niktoś
Cytat
Dla webmastera moim zdaniem oczywistym wyborem jest JavaScript.
Ja zawsze traktowałem i traktuje js jako język programistyczny(skryptowy) przeznaczony dla back-endu.

Ja wybrałem c# który w aplikacjach .Net składa się z dwóch odmian (WebForms i WinForms). Przeskok z jednej odmiany na drugą nie stanowi wielkiego problemu.Istotna jest jedynie różnica w komunikacji między formsami w tych odmianach.Większość przestrzeni nazw(namespace'ów) jest taka sama, więc przeskok z aplikacji webowej na okienkową nie powinno być dużym problemem.Dodatkowo programowanie urządzeń mobilnych z WinOS, daje większe możliwości do popisu, wykazania się i znalezienia pracy .
peter13135
@solificati. Może c++ to nie rewelacja, ale przecież początkujący programista nie będzie implementował takich rzeczy o których piszesz. A hello worlda w c++ zrobi szybciej niż w javie (choćby dlatego, że nie trzeba tego robić obiektowo) wink.gif . Poza tym, c++ jest językiem niższego poziomu niż java. Znając c++ łatwo przejść na javę (bo już się zna składnie obiektową, wiadomo co to metoda itp.) No i ... łatwiej pojąć np. co to jest garbage collector wink.gif.

Moim skromnym zdaniem, po prostu nauka javy bez znajomość iinnych języków jest bardzo trudna, a język c/c++ jest dobrym pomostem. Przecież nie będę tu polecał Pascala. W każdym razie, Twój post bardzo bogaty w wiedzę, osobiście nie wszystkie rzeczy o których piszesz są mi znane w chocby minimalnym stopniu.
Theqos
Cytat(solificati @ 2.09.2012, 11:50:48 ) *
Taki przykład różnicy między C++ a taką Javą. Masz klasę realizującą jakąś funkcję w systemie, która spełnia wzorzec obserwatora. W Javie piszesz klasę, pojawia się problem stworzenia listy obserwatorów - opakowujesz to w java.util.ArrayList i działa. Piszesz w c++: piszesz klasę, nie znasz całego c++, tylko głównie c, więc używasz najprostszej abstrakcji - wskaźników.

Ale jak już znasz C++ w stopniu średnim to możesz skorzystać z uogólnionego obserwatora i delegatów, które używa się tak łatwo jak system eventów i delegatów z C#. Gdzie w Javie jest dupa zbita i w najlepszym wypadku musisz się zadowolić anonimowymi klasami wewnętrznymi z implementowaniem jednej konkretnej metody actionPerformed, czy który tam interfejs obserwatora implementujesz. Ja wiem, że teraz (tzn. od dłuższego już czasu) jest nagonka na C++, szczególnie przez ludzi znających najnowsze (chociaż nie takie nowe, różne lispy dalej nie mogą zawładnąć światem) osiągnięcia z dziedziny języków programowania, ale ja lubie być adwokatem diabła smile.gif Oczywiście, że C++ jest skomplikowany i ma masę dziwnych i niebezpiecznych rzeczy, ale daje też niezwykłą swobodę i możliwość rezygnacji z narzutu gdzie tego chcemy. I to nie jest tak, że trzeba używać wszystkiego, bardzo modnym jest zakazywanie używania niektórych części języka w konkretnych projektach. No i jeszcze te wychwalanie C, bo prosty i dlatego lepszy od C++. Ja tam lubie moje namespace'y i template'y i nie zamierzam z nich rezygnować wink.gif

Cytat(solificati @ 2.09.2012, 11:50:48 ) *
Dla webmastera moim zdaniem oczywistym wyborem jest JavaScript.

Może ja za długo siedziałem w językach statycznie typowanych, ale nie potrafię sobie poradzić z błędami wynikającymi z dynamicznego typowania w JS...

Cytat(solificati @ 2.09.2012, 11:50:48 ) *
No i Haskell (ewentualnie Scala) pokaże co znaczy siła statycznego typowania. Cudowne, gdy piszesz program w Haskelu i jeśli się skompiluje to znaczy, że na 90% robi wszystko dobrze. (o.o)

Najlepsze jest włąśnie to, że na skomplikowanie C++ narzekają piewcy języków funkcyjnych, którzy nie widzą ich skomplikowania. Ja Scali uczyłem się jakiś rok i niektóre konstrukcje miały dla mnie sens dopiero po zabawie dekompilatorem, a po obejrzeniu kodu niektórych bibliotek można dostać ataku serca, ewentualnie zawrotów głowy. Wręcz zalecają używania podzbioru języka do "codziennego" pisania.
solificati
Po pierwsze gubisz kontekst. Mowa jest o językach dla początkujących i jaki jest sens uczyć się w takim wypadku C++. Ale do sedna.

Cytat(Theqos @ 3.09.2012, 12:23:44 ) *
Ale jak już znasz C++ w stopniu średnim to możesz skorzystać z uogólnionego obserwatora i delegatów, które używa się tak łatwo jak system eventów i delegatów z C#. Gdzie w Javie jest dupa zbita i w najlepszym wypadku musisz się zadowolić anonimowymi klasami wewnętrznymi z implementowaniem jednej konkretnej metody actionPerformed, czy który tam interfejs obserwatora implementujesz.

Który to mechanizm jest spójny ideowo. Ma masę niepotrzebnego kodu i cokolwiek mało wydajny ale jest spójny ideowo i nie wprowadza nowych pułapek.

Cytat
Ja wiem, że teraz (tzn. od dłuższego już czasu) jest nagonka na C++, szczególnie przez ludzi znających najnowsze (chociaż nie takie nowe, różne lispy dalej nie mogą zawładnąć światem) osiągnięcia z dziedziny języków programowania, ale ja lubie być adwokatem diabła smile.gif

Nagonka jest odkąd powstało. Bo problem C++ polega na tym, że jest jedyny. Jak ktoś się śmieje z PHP to mówisz mu, że niech sobie stąd idzie i pisze w swoim Ruby/Pythonie. Programista C++ nie ma do czego innego uciec (no, może do C, ale to wymaga też samozaparcia).

Cytat
Oczywiście, że C++ jest skomplikowany i ma masę dziwnych i niebezpiecznych rzeczy, ale daje też niezwykłą swobodę i możliwość rezygnacji z narzutu gdzie tego chcemy. I to nie jest tak, że trzeba używać wszystkiego, bardzo modnym jest zakazywanie używania niektórych części języka w konkretnych projektach. No i jeszcze te wychwalanie C, bo prosty i dlatego lepszy od C++. Ja tam lubie moje namespace'y i template'y i nie zamierzam z nich rezygnować wink.gif

A tutaj mieszasz. Daje taką swobodę jak C. Wybiera się C++ by mieć swobodę C i nie pisać aż tyle nadmiarowego kodu, ale ten kompromis boli i to jest dyskusja dla doświadczonych programistów, więc my możemy sobie pogadać, ale nie zmienia to faktu, że C++ to upierdliwy język, który nie ma wartości dodanej podczas nauki przez webdevelopera. Chcesz go nauczyć o pamięci - C. Chcesz go nauczyć metod abstrakcji - są inne języki.

Cytat
Może ja za długo siedziałem w językach statycznie typowanych, ale nie potrafię sobie poradzić z błędami wynikającymi z dynamicznego typowania w JS...

To nie dynamiczne typowanie jest problemem tylko słabe typowanie. Python jest dynamicznie i silnie typowany i nie ma tego problemu. Haskell/Scala też są co prawda statycznie typowane, ale inferencja typów zwalnia z powtarzania wszędzie typów.

Cytat
Najlepsze jest włąśnie to, że na skomplikowanie C++ narzekają piewcy języków funkcyjnych, którzy nie widzą ich skomplikowania. Ja Scali uczyłem się jakiś rok i niektóre konstrukcje miały dla mnie sens dopiero po zabawie dekompilatorem, a po obejrzeniu kodu niektórych bibliotek można dostać ataku serca, ewentualnie zawrotów głowy. Wręcz zalecają używania podzbioru języka do "codziennego" pisania.

Scala to nie jest "funkcyjny" język. Tak jak C++ jest mariażem C i wyższych języków tak Scala jest mariażem "obiektowej" Javy i języków funkcyjnych. Tak samo nieprzyjazne języki. Masz rację, za bardzo myślałem o innym przykładzie ciekawego systemu typów, że zapomniałem o wadach Scali umieszczając ją na liście.

I nikt nie mówi, że C++ został źle zaprojektowany, że ma podstawowe błędy. Jak chcesz wziąć język z manualnym przydziałem pamięci i obiektami to już wprowadzasz masę zagadnień. I te obiekty, też są luźno potraktowanego jako szczególny przypadek struktury z funkcjami, operatory są wyodrębnionym bytem i można wymieniać więcej ... a pod spodem musisz cały czas udostępniać wirtualne tablice wskaźników, bo ktoś mógłby chcieć skorzystać z możliwości jakie dają.
Theqos
Cytat(solificati @ 3.09.2012, 13:37:05 ) *
Mowa jest o językach dla początkujących i jaki jest sens uczyć się w takim wypadku C++.

Parę lat temu oglądałem serię wykładów ze wstępu do programowania na różnych uczelniach. Na każdej był inny język, a to jakieś warianty LISPa, a to Python, była też Java. I nielicząc nadmiernej ilości nawiasów w niektórych językach wszystkie były ciekawe i pouczające. Zmierzam do tego, czy wogóle ma znaczenie wybór języka dla początkującego?
Ok podstawy zrobimy w Scheme, architekturę w C, ale btw pracować i tak najprawdopodobniej będziecie w Javie/C#/ObjC/C++/PHP. A ponoć, niektórzy znają tylko Javę/C# i dobrze sobie radzą na rynku pracy. I jeszcze dochodzi tutaj sprawa publicystyki w stylu "The Perils of JavaSchools", o tym jak w szkołach uczą 100% Javy/C# i jakie to niesie problemy. A przecież zrobiono to w dobrej wierze, najprawdopodobniej przez ludzi doświadczonych, żeby produkować lepszych, a nie gorszych, programistów dla przemysłu. Tak myślę, że ogólnie cięzko jest polecać jakiś język bez przeprowadzenia testów na jakiejś dużej grupie początkujących i zobaczyć jak to się ma do rzeczywistości.


Cytat(solificati @ 3.09.2012, 13:37:05 ) *
Bo problem C++ polega na tym, że jest jedyny.

W sumie racja.

Cytat(solificati @ 3.09.2012, 13:37:05 ) *
To nie dynamiczne typowanie jest problemem tylko słabe typowanie. Python jest dynamicznie i silnie typowany i nie ma tego problemu.

Aaa to tu mnie bolało.

Cytat(solificati @ 3.09.2012, 13:37:05 ) *
Masz rację, za bardzo myślałem o innym przykładzie ciekawego systemu typów, że zapomniałem o wadach Scali umieszczając ją na liście.

Czyli co Clojure, czy Haskell do pracy? Tylko dlaczego dalej mają opinie języków akademickich?

Cytat(solificati @ 3.09.2012, 13:37:05 ) *
a pod spodem musisz cały czas udostępniać wirtualne tablice wskaźników, bo ktoś mógłby chcieć skorzystać z możliwości jakie dają.

Pod spodem to znaczy mówisz o zwiększeniu skomplikowania implementacji kompilatora? Bo przecież nie musisz korzystać z metod wirtualnych i wtedy vtable nie ma.
solificati
Cytat(Theqos @ 3.09.2012, 17:01:10 ) *
Parę lat temu oglądałem serię wykładów ze wstępu do programowania na różnych uczelniach. Na każdej był inny język, a to jakieś warianty LISPa, a to Python, była też Java. I nielicząc nadmiernej ilości nawiasów w niektórych językach wszystkie były ciekawe i pouczające. Zmierzam do tego, czy wogóle ma znaczenie wybór języka dla początkującego?

Ma znaczenie. Sam pisałeś, że Scala to dla Ciebie za trudny język na rok, a co dopiero na semestr nauki.

Cytat
Czyli co Clojure, czy Haskell do pracy? Tylko dlaczego dalej mają opinie języków akademickich?

Ciężko mówić "dalej mają opinię", jeśli chodzi o Clojure. Ile lat ma ten język? A Haskell ma się świetnie. Używany tu i ówdzie w dużym biznesie.
Cytat
Pod spodem to znaczy mówisz o zwiększeniu skomplikowania implementacji kompilatora?

A tym samym implementacji języka. Piszę o tym, że z wszystkimi fuetursami to implementacja C++ jest skomplikowana sama w sobie.
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.