-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: jaki wybrac jezyk?
Date: Wed, 17 Aug 2011 11:55:30 +0200
Organization: ATMAN - ATM S.A.
Lines: 54
Message-ID: <j2g39k$4hl$1@node2.news.atman.pl>
References: <2...@v...googlegroups.com>
<5...@n...onet.pl>
<j26pdv$s41$1@node2.news.atman.pl>
<s...@b...pl>
NNTP-Posting-Host: static-81-219-28-205.devs.futuro.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1313575028 4661 81.219.28.205 (17 Aug 2011 09:57:08 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 17 Aug 2011 09:57:08 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428
Linux/3.1.0-15 Thunderbird/3.1.0
In-Reply-To: <s...@b...pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:191951
[ ukryj nagłówki ]On 08/17/2011 10:12 AM, Artur M. Piwko wrote:
> In the darkest hour on Sat, 13 Aug 2011 23:11:59 +0200,
> Edek<e...@g...com> screamed:
>>>> 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ć. Czy można tak ogólnie o którymś
>>> z nich powiedzieć, że zapis typowych algorytmów niesie mniejsze ryzyko
>>> pomyłki?
>>
>> Z powyższych, poprawnie używane C++. Z powodu pełnej kontroli typów
>> podczas kompilacji.
>>
>
> To jest akurat marginalna zaleta. Podobnie sprawdzi się poprawnie
> używany Python. Nie trzeba ludzi straszyć dynamicznie typowanymi
> językami. https://docs.google.com/View?id=dcsvntt2_25wpjvbbhk
>
Nikogo nie straszę, znam zalety testów, w dowolnym języku da się napisać
dowolną ilość linijek.
Sprawa polega na czym innym, mówimy o wyższości jednego języka nad
drugim w kontekście ilości popełnianych błędów. Tu nie da się ukryć, że
tak czy inaczej testy są pomocne, że w każdym się robi błędy itd.
Potrzebna jest inna miara.
W moim osobistym przypadku, ja czasami sprawdzam, ile linijek kodu
(napisanego, średnio skomplikowanego, przetestowanego) tworzę średnio
na minutę. I - w moim przypadku - wynik jest następujący: w Pythonie
średnia jest nieco niższa (sam kod, nie liczę linijek testów) niż w C++
i niższa niż w Javie. Co mi sugeruje, że moje tempo pisania włącznie
z poprawianiem kodu jest podobne w Pythonie c++ i Javie, bo Python jest
bardziej zwięzły.
Ale, przy bardziej skomplikowanym kodzie, mam problem z Pythonem. Być
może jest to kwestia IDE, że pisząc coś większego muszę dużo uwagi
poświęcać na to, czy x to float, dict czy lista list, a nie na to, czym
ta zmienna jest. W c++ mogę otagować nawet floaty, czyli mieć typ
float-znaczysię-średnia i typ float-znaczysię-mediana, jeżeli tylko
chcę. Inaczej mówiąc, C++ pozwala tworzyć wiele kontrukcji na
poziomie typów, które służą poprawności. W Pythonie niby też
część z tych rzeczy jest możliwa, tylko implementuje się to inaczej,
ale walidacja ma miejsce w runtime, co a) powoduje, że to robi się
jeszcze wolniejsze b) trzeba faktycznie wykonać w testach każdą linijkę,
żeby w ogóle się dowiedzieć, czy nie pomyliłem w kodzie mediany ze
średnią. Oczywiście, tak jak 2/3 c++, nikt nikogo nie zmusza do
używania języka właśnie w ten sposób, można pisać w c++ np. bez
tworzenia template'ów i nawet często tak się właśnie robi. YMMV.
Edek
Następne wpisy z tego wątku
- 17.08.11 10:01 Michal Kleczek
- 17.08.11 12:12 Stachu 'Dozzie' K.
- 17.08.11 12:15 Marcin Biegan
- 17.08.11 12:41 Paweł Kierski
- 17.08.11 12:52 Michal Kleczek
- 17.08.11 12:59 Michal Kleczek
- 17.08.11 13:12 Stachu 'Dozzie' K.
- 17.08.11 13:18 m...@t...pl
- 17.08.11 13:29 Marcin Biegan
- 17.08.11 13:30 Michal Kleczek
- 17.08.11 13:33 Michal Kleczek
- 17.08.11 13:39 Stachu 'Dozzie' K.
- 17.08.11 13:42 Stachu 'Dozzie' K.
- 17.08.11 13:57 Paweł Kierski
- 17.08.11 14:13 Jordan Szubert
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 ROG
- 2025-07-03 OZE dały Polsce więcej prądu niż elektrownie węglowe
- 2025-07-03 Dlaczego nikt nie powiadamia służb!
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=