-
21. Data: 2011-08-14 07:28:49
Temat: Re: jaki wybrac jezyk?
Od: m...@t...pl
> > No wlasnei pisalem w innym poscie: proponuje nauczyc sie programowania
> I matematyki.
To nie jest mozliwe. Ostatnio kazdy klient jaki prosi mnie o przygotowanie
aplikacji, zastrzega sobie, aby aplikacja byla przygotowana przez osobe
kompletnie nie znajaca sie na programowaniu i matematyce. W szkolach jest
tak samo, kazdy nauczyciel mowi, ze prawdziwa sztuka jest napisane
aplikacji calkowicie bez umiejetnosci programowania.
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
22. Data: 2011-08-14 07:45:31
Temat: Re: jaki wybrac jezyk?
Od: p...@p...onet.pl
>
> > a jak duze sa te programy (w tysiacach lini?) 50 tys?
> > mniej? wiecej?
> Nie są zabójczo duże, są skomplikowane. Algorytmy są
> trudne i zapis jest popaprany w celu przyspieszenia.
>
> > mz python raczej odpada bo pewnie byloby niesamowicie
> > wolno - slabo znam pythona ale cos tak mi sie wydaj
> Aplikacja testowa może działać wolno. Aplikacja pierwotna
> na wyrywki zrzuci dane wejściowe i wyniki obliczeń do pliku.
> Aplikacja testowa wczyta wiersz danych, może sobie długo
> liczyć bezpiecznym algorytmem i sprawdzić czy wyjście jest
> takie samo.
>
> No ale widzę że nikt nie przychyla się do opinii że w
> niektórych językach robi się mniej błędów :)
>
moglbys sprawdzic i powiedziec ile to ma mniej wiecej
lini kodu bo to daje pewne wyobrazenie ile to roboty,
jak kilkanascie tysiecy to mozna sie ew porywac ale jak
duzo wiecej to mz gorzej - moze ci sie znudzic ta robota
w trakcie
mz jak mowilem moglbys sprobowac z jakimis 'pascalopodobnymi'
jezykami jak moze np ada albo cos w tym stylu (nie znam sie na
jezykach pascalopodobnych ale cos tam jeszcze bylo i moze jest
tam cos ciekawego)
1. python to interpreter
2. python to BASIC,
(nie wiem jak python jest wolny i jak bardzo python
sie dodaje do takich rzeczy ale mz raczej nie (moze sie
myle) - ale przepisanie w ktoryms z pascalopodobnych
moze mialo by troche sensu
(aczkolwiek ja sie nie znam za bardzo, mowie tylko jak uwazam)
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
23. Data: 2011-08-14 08:02:12
Temat: Re: jaki wybrac jezyk?
Od: "Muchozol" <m...@z...pl>
Użytkownik "Marszalkowski" <m...@t...pl> napisał w wiadomości
news:5a65.0000009c.4e46cbdb@newsgate.onet.pl...
> Mam kilka dużych projektów napisanych w C/C++.
> Projekty są duże i zoptymalizowane na szybkość
> działania. Jednym słowem bagno i być może bagno z
> błędami.
Ja bym sprobowal PHP. Nie dlatego, ze jest jakis szczegolnie cudowny do
obliczen, ale pisanie aplikacji jest ultra szybkie i wygodne. PHP ma
wszystko w standardzie i jest dosc ulozony. Ma swoje wady, ale jako
eksperymentalne liczydlo do jakiegos zadania nada sie IMO idealnie.
-
24. Data: 2011-08-14 08:05:27
Temat: Re: jaki wybrac jezyk?
Od: "slawek" <s...@h...pl>
Użytkownik <m...@t...pl> napisał w wiadomości grup
dyskusyjnych:5...@n...onet.pl
...
> To nie jest mozliwe. Ostatnio kazdy klient jaki prosi mnie o przygotowanie
> aplikacji, zastrzega sobie, aby aplikacja byla przygotowana przez osobe
> kompletnie nie znajaca sie na programowaniu i matematyce. W szkolach jest
Grzecznie wyjaśnij klientowi, że aplikacja ma być PRZETESTOWANA przez taką
osobę. A napisana musi być przez kogoś innego.
A jak się klient będzie upierał, to powiedz, że najlepiej jak klient sam
sobie napisze - bo z całą pewnością na programowaniu się nie zna, więc
kryterium spełnia.
> tak samo, kazdy nauczyciel mowi, ze prawdziwa sztuka jest napisane
> aplikacji calkowicie bez umiejetnosci programowania.
Każdy? Czy raczej ci, których miałeś nieszczęście spotkać?
-
25. Data: 2011-08-14 09:01:19
Temat: Re: jaki wybrac jezyk?
Od: Szyk <s...@o...pl>
W dniu 2011-08-14 10:02, Muchozol pisze:
> U?ytkownik "Marszalkowski"<m...@t...pl> napisa? w wiadomo?ci
> news:5a65.0000009c.4e46cbdb@newsgate.onet.pl...
>> Mam kilka du?ych projekt?w napisanych w C/C++.
>> Projekty s? du?e i zoptymalizowane na szybko??
>> dzia?ania. Jednym s?owem bagno i by? mo?e bagno z
>> b??dami.
>
> Ja bym sprobowal PHP.
Plusy: brak include dla finkcji standardowyh, zazadzanie pamiecia
minusy: wszedzie dolary == szalenstwo, interpretowany, wolny, nie spujna
biblioteka standardowa - proceduralno objektowa
-
26. Data: 2011-08-14 09:13:48
Temat: Re: jaki wybrac jezyk?
Od: Piotr Chamera <p...@p...onet.pl>
W dniu 2011-08-13 22:56, m...@t...pl pisze:
>> On Aug 13, 9:09 pm, "Marszalkowski"<m...@t...pl> wrote:
>
>> Ale jakiego zadania? Przecież nic nie opisałeś - wiadomo tylko, że dla
>> danych wejściowych program ma wyprodukować wartości wyjściowe. I że
>> jest text I/O.
>> Wszystkie języki się do tego nadają.
> Nie znam takich języków jak Prolog, Lisp, Python, Perl. Zastanawiam
> się czy warto któregoś się pouczyć.
MZ warto - to zawsze rozszerza zakres poznanych technik programowania,
nawet jeśli potem się danego języka nie wykorzystuje na co dzień.
Z tego punktu widzenia wybrałbym do nauki Lisp, Prolog i może Haskell.
Z podanych wyżej pominąłem Perla z tego względu, że uważam go za język
specjalizowany, a nie ogólnego przeznaczenia, oraz Pythona z powodów
podanych niżej.
Akurat jestem na etapie uczenia się Lispa (Common Lisp) po
wcześniejszych doświadczeniach z Pythonem i Lisp coraz bardziej mi się
podoba - odpowiada mi model pracy pozwalający na bieżące pisanie
i natychmiastowe testowanie pojedynczych funkcji, czy wyrażeń
w działającym programie. Jest też bardzo elastyczny i doskonały do
szybkiego pisania programów prototypowych, gdzie nie bardzo wiadomo jaki
będzie ostateczny kształt rozwiązania. Łatwo jest pisać
rozszerzenia języka (makra) i można w szerokich granicach regulować
szybkość działania programu (możemy mieć program napisany bardzo ogólnie
i powolny jak w Pythonie, a kluczowe procedury opatrzyć deklaracjami
pozwalającymi im zbliżyć się szybkością wykonania do C [w granicach 2 do
10x]). Jeśli chodzi o wady, to tu jest ciekawy artykuł:
http://www.winestockwebdesign.com/Essays/Lisp_Curse.
html
Jeśli chodzi o Pythona - jego zalety to prosta, zwięzła składnia,
obszerna biblioteka standardowa i mocna społeczność (dokumentacja itp.),
natomiast w porównaniu z Lispem wypada blado pod względem elastyczności
- został zaprojektowany tak, żeby był jeden oczywisty sposób zapisania
każdej konstrukcji - ale jest dzięki temu bardzo czytelny.
> Czy można tak ogólnie o którymś
> z nich powiedzieć, że zapis typowych algorytmów niesie mniejsze ryzyko
> pomyłki?
Myślę, że długość zapisu programu, czytelność składni, wbudowane w
runtime kontrole zakresów itp. zmniejszają liczbę popełnianych błędów
lub umożliwiają ich łatwiejsze wyłapanie, ale jak zauważyli przedpiścy
żaden język nie eliminuje tego ryzyka całkowicie.
> Kiedyś Java była reklamowana w ten sposób, że pisząc w Javie
> popełnia się mniej błędów, że Java ma np. kontrolę zakresów
> tablic, itd. Czy obecnie jakieś języki uznaje się za jeszcze
> bardziej pomocne w pisaniu bezbłędnego kodu?
>
> Często słyszę opinię że Python mocno chroni programistę przed
> popełnianiem błędów. Mówi się że programy w Pythonie mają
> najmniej linii kodu i że Python to jest język w którym się
> myśli a nie koduje. W jakim stopniu to jest prawda? Jakie
> Python ma odpowiedniki javowej kontroli zakresów tablic?
Rzuci wyjątkiem podczas wykonania programu i można jakoś zareagować
(to chyba dokładnie tak samo jak w Javie).
>> Natomiast od tego, co *konkretnie* ten program ma robić, będzie
>> zależało, który język się do tego lepiej nadaje.
> Trochę algorytmów kombinatorycznych, trochę zmiennoprzecinkowych.
> Trochę przeszukiwania grafów, trochę symulacji monte carlo, trochę
> sortowania, trochę wyszukiwania k-tej statystyki, rozwiązywanie
> układów równań... Problem w tym że w jednym programie jest tego
> bardzo dużo i na dodatek zostało zoptymalizowane. Pełno jakiś
> sztuczek z ujemnymi indeksami w tablicach, celowe przekraczanie
> zakresów struktur, itd. Błędów obawiam się wszędzie. Myślę sobie,
> żeby to samo napisać od nowa, ale użyć bezpieczniejszego algorytmu i
> bezpieczniejszego języka programowania.
(...)
>> Jeżeli problem jest ogólny, to pewnie przyda się jakiś ogólny język.
> Raczej tak, raczej język ogólny. Intryguje mnie Python.
Ja bym spróbował CommonLispa [ale to tak trochę na fali mojego obecnego
entuzjazmu dla tego języka] - powinien pozwolić na napisanie szybko
prototypu i na łatwe dopracowywanie szczegółów w miarę potrzeby.
Z drugiej strony jest to w stosunku do C++ całkowicie odmienne
środowisko i styl pracy z programem. Python byłby tu bardziej ,,podobny".
Problemem może być IDE (dla darmowych implementacji CommonLispa chyba
jedynym dobrym wyborem jest Emacs + SLIME, dla komercyjnych jest lepiej,
ale te są stosunkowo drogie). Z implementacji języka polecam SBCL, CCL
(szczególnie na Mac-u), Clisp - jest ich wiele, każda ma
zalety i wady, ale dzięki standardowi języka programy są stosunkowo
dobrze przenośne.
-
27. Data: 2011-08-14 12:23:40
Temat: Re: jaki wybrac jezyk?
Od: Maciej Sobczak <s...@g...com>
On Aug 13, 10:56 pm, m...@t...pl wrote:
> Nie znam takich języków jak Prolog, Lisp, Python, Perl. Zastanawiam
> się czy warto któregoś się pouczyć.
Warto. wszystkich, może oprócz Perla.
> Kiedyś Java była reklamowana w ten sposób, że pisząc w Javie
> popełnia się mniej błędów, że Java ma np. kontrolę zakresów
> tablic, itd.
To jest akurat bzdurny argument. To, że Java ma kontrolę zakresów
tablic kompletnie nie przeszkodzi w zrobieniu błędu polegającego na
użyciu złego indeksu. W tej kategorii Java stoi na tym samym poziomie
co C, bo do obsługi indeksów ma jednego biednego inta.
Natomiast run-time Javy taki błąd wykryje i strzeli wyjątkiem, czyli
wywali się ładnie zamiast nieładnie. I to jest właśnie cały postęp:
można pisać programy, które się ładnie wywalają.
Faktem jest, że wielu ludziom to wystarcza, ale to nie jest ten sam
argument.
> Czy obecnie jakieś języki uznaje się za jeszcze
> bardziej pomocne w pisaniu bezbłędnego kodu?
A to jest inna kategoria. Do tego potrzebny jest język, którego reguły
i konstrukcje *zapobiegają* robieniu błędów. To jest zupełnie coś
innego, niż ich wykrywanie w run-time.
> Często słyszę opinię że Python mocno chroni programistę przed
> popełnianiem błędów.
Że co? To jeszcze większa bzdura. W Pythonie kompletnie nic nie chroni
programisty przed robieniem błędów, bo język nie jest statycznie
weryfikowany. Układ jest taki: programista robi błędy a run-time je
wykrywa. Albo i nie wykrywa.
> Mówi się że programy w Pythonie mają
> najmniej linii kodu i że Python to jest język w którym się
> myśli a nie koduje. W jakim stopniu to jest prawda?
Nie wiem, ale wiem, że mój produkt YAMI4 wspiera całą garść języków
programowania i z tej garści tylko Python nie działa poprawnie na 64-
bit, bo ma takie dziury w kodzie biblioteki standardowej, że ręce
opadają. Muszę pewien kawałek napisać od nowa i inaczej. Ciekawa
obserwacja, prawda?
> Jakie
> Python ma odpowiedniki javowej kontroli zakresów tablic?
Takie same. Czyli Ty robisz błędy a run-time je wykrywa (albo i nie
wykrywa), dzięki czemu program się ładnie wywala. Wystarcza Ci to? :-)
A na poważnie: jeśli naprawdę poszukujesz języka, który pomaga unikać
błędów i faktycznie pomaga je wykrywać statycznie a nie dopiero w run-
time, to polecam Adę.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
-
28. Data: 2011-08-14 19:44:55
Temat: Re: jaki wybrac jezyk?
Od: Michoo <m...@v...pl>
W dniu 14.08.2011 09:28, m...@t...pl pisze:
>
>>> No wlasnei pisalem w innym poscie: proponuje nauczyc sie programowania
>> I matematyki.
> To nie jest mozliwe. Ostatnio kazdy klient jaki prosi mnie o przygotowanie
> aplikacji, zastrzega sobie, aby aplikacja byla przygotowana przez osobe
> kompletnie nie znajaca sie na programowaniu i matematyce.
Jak rozumiem to jest jakaś głęboka ironia, ale jej nie zrozumiałem.
Możesz rozwinąć?
--
Pozdrawiam
Michoo
-
29. Data: 2011-08-15 14:24:26
Temat: Re: jaki wybrac jezyk?
Od: "Marszalkowski" <m...@t...pl>
> W dniu 14.08.2011 09:28, m...@t...pl pisze:
> Jak rozumiem to jest jakaś głęboka ironia, ale jej nie zrozumiałem.
> Możesz rozwinąć?
Pewnemu profesorowi matematyki zepsuł się kaloryfer. Nie wiedział jak to
naprawić, więc wezwał hydraulika. Ten chwilę postukał, popukał i naprawił.
Ale profesor jak się dowiedział ile ma zapłacić, to mina mu zrzedła.
- Panie majster. Dlaczego to tyle kosztuje?
- To jest dużo?
- To pół mojej pensji!
- Gdzie pan pracuje?
- Jestem pracownikiem naukowym na wydziale matematyki.
- Panie, przyjdź pan do nas! Tygodniowy kurs i naprawia pan kaloryfery!
Tylko nie przyznawaj się pan do wykształcenia. Skończył pan 7 klasie i nic
więcej. U nas tylko takich przyjmują.
Profesor poszedł na kurs i zaczął pracować. Po roku szefostwo zarządziło
podnoszenie kwalifikacji i wszyscy musieli skończyć podstawówkę.
Na pierwszej lekcji matematyki profesor został przywołany do tablicy...
Kazano mu napisać wzór na pole koła, ale jak na złość zapomniał go.
Wyprowadza wiec: pierwsza tablica, druga tablica zapisana i wychodzi:
P= - pi*r2.
Ale przecież dobrze wiedział, że pole nie może być ujemne!
Zmazał wszystko, znowu zapisał dwie tablice i ten sam wynik!
Odsuwa się od tablicy, a z sali słychać cichutkie szepty kolegów:
- Zmień granice całkowania... !!!
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
30. Data: 2011-08-15 15:01:21
Temat: Re: jaki wybrac jezyk?
Od: A.L. <l...@a...com>
On Sun, 14 Aug 2011 09:28:49 +0200, m...@t...pl wrote:
>
>> > No wlasnei pisalem w innym poscie: proponuje nauczyc sie programowania
>> I matematyki.
>To nie jest mozliwe. Ostatnio kazdy klient jaki prosi mnie o przygotowanie
>aplikacji, zastrzega sobie, aby aplikacja byla przygotowana przez osobe
>kompletnie nie znajaca sie na programowaniu i matematyce. W szkolach jest
>tak samo, kazdy nauczyciel mowi, ze prawdziwa sztuka jest napisane
>aplikacji calkowicie bez umiejetnosci programowania.
To mial byc zart?.. Jezeli to nie jest art, to jest to idiotyzm.
Kompletny
Podobnie jak "optymalizacja" w C++ przy pomocy ujemnych indeksow
tablic.
A.L.