🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #10191

Re: Muszę pomagać synowi

#10191
From: Marcin Grzębski
Date: Wed, 23 Nov 2005 13:27
86 lines
5303 bytes
ASSmodeus wrote:
> Wydaje mi sie, ze to troche demonizowanie jest.
> C czy C++ raczej nie wybacza bledow, a to jest dobra metroda na 
> nauczenie porzadnego, uporzadkowanego i przejrzystego programowania.

Zgadzam się, że C/C++ nie wybaczają błędów.
Swego czasu spędziłem naprawdę dużo czasu nie mogąc znaleźć
prostego błędu w pętli w C++. Błędu, który by mi JAVA i C# od
razu wskazały. Oczywiście błąd był mój, ale czasu straconego
nic mi nie zrekompensuje. I w związku z tym nie uważam, że
dobrą metodą jest nauka na takich błędach.
W C++ spędziłem mnóstwo czasu w debuggerach poszukując błędu,
a w C# włączam ten tryb tylko wtedy gdy wiem gdzie błąd wystąpił.
Popełniam błędy, jak większość programistów, ale cieszę się,
że pracuję z językiem, który w większości przypadków wyręcza
mnie z nudnego i uciążliwego poszukiwania drobnych pomyłek.
I dzięki temu skupiam się w 95% na działaniu modułu lub programu.

> Poza tym jezyki nizszego rzedu bardziej skupiaja sie na algorytmie niz 
> na obiekcie.
> A to z kolei dobra metoda nauki optymalnego tworzenia kodu.

Algorytmy żadko kiedy są obiektowe i wówczas pisze się je w
taki właśnie nieobiektowy sposób. Nie ogranicza to w żaden sposób,
żaden z języków obiektowych więc w czym problem?
Nie chcesz pisać obiektowo, to nie piszesz. To idea OOP
opiera się na obiekcie, a nie jezyk jest skazany na OOP.
Metody, które uruchamiają aplikacje w JAVA i C# są
metodami statycznymi dokłatnie tak samo jak w C i C++.

> Wiem, ze sa narzedzia prostrze i pozwalajace szybko tworzyc pieknie 
> wygladajace aplikacje, ale uwazam, ze nauczac sie ich powinno ludzi, 
> ktorzy potrafia utrzymac samodyscypline podczas programowania.
> 
> Poza tym tak rozbudowane narzedzia narzucaja zazwyczaj wiele ograniczen, 
> o braku jakiejkolwiek optymalizacji nie wspominajac.
> Ale jak to mowia cos za cos.

Nie zgadzam się z tym. Tu nie chodzi o narzędzia.
Ani w C# ani w JAVA'ie narzędzia nie mają nic wspólnego
z kompilatorem.
Framework lub SDK - są tu słowami kluczowymi. Zestaw gotowych
klas, które można łatwo użyć. Co nie ogranicza możliwości,
żeby móc "wynaleźć koło" i napisać algorytm sortowania samemu.

> W kazdym razie, ja uwazam, ze nauka podstaw jezykow strukturalnych 
> powinna byc prowadzona w szkolach (oczywiscie w nie powinna byc 
> dominujaca).

Uważam, że w dzisiejszych czasach szkoły<wyższe mogłyby
sobie odpuścić naukę języków strukturalnych. Powinny skupić
się raczej na idei programowania, która nie musi nawet obejmować
OOP. I bez względu na konkretny język i "narzędzia".
Tylko wówczas młodzież nie będzie bała się programowania
jak ognia, a dowie się w jaki sposób można tą wiedzę wykorzystać.

Co innego myślę, że na studiach conajmniej 1 jezyk strukturalny
powinien się pojawić. Ale to temat do osobnej dyskusji.

> Przeciez najpierw, zeby pilkarz potrafil dryblowac, kiwac, podkrecac 
> itd. musi wiedziec jak w ogole kopnac pilke.
> Bo ten co zacznie uczys sie "top2down" to moze i bedzie dobry jesli ma 
> talent, ale ktos z takimi samymi zdolnosciami zaczynajacy z dolu, bedzie 
> o niebo lepszy.

Obecnie gdy chce się kupić samochód to ABS, Airbag, Radio są
w standardzie. Jakbym miał kupić inny samochód kosztujący tyle
samo, który pali 2x więcej i do tego nie ma ogrzewania nie mówiąc
już o powyższych "gadgetach" to czym bym taki zakup podyktował?
Czy po zakupie samochodu wyjadę z salonu i będę próbował czy
wskazówka prędkościomierza dojdzie do ostatniej liczby?
Chyba nie.

Dlaczego stawiać "żótodzioba" twarzą w twarz z językiem C?
Dlatego, że go nie powinno być "stać" na używanie nowszego języka?
Czy może, w obawie przed tym, że jego nauczyciel nie potrafi
się go nauczyć?

> Bez podstaw, kazda piekna budowla predzej czy pozniej sie zawali ;-)

Na szczęście nowoczesne języki oparte są na solidnych filarach,
odziedziczonych po sprawdzonych językach, także strukturalnych.
Nie ma więc obaw, że nie wytrzymają najbliższych lat.

pozdrawiam
Marcin
Technical Details
Message-ID: <dm1qq6$3rt$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dls69c$mq7$1@nemesis.news.tpi.pl> <dlsarb$6ki$1@news.onet.pl> <dlscse$kv4$1@nemesis.news.tpi.pl> <dlsvgm$bh9$2@news.dialog.net.pl> <dlui26$m2v$1@atlantis.news.tpi.pl> <4384582F.1000801@wp.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Marcin Grzębski <mgrzebski@taxussi.no.com.spam.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Muszę pomagać synowi
Date: Wed, 23 Nov 2005 14:27:44 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 86
Message-ID: <dm1qq6$3rt$1@nemesis.news.tpi.pl>
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dls69c$mq7$1@nemesis.news.tpi.pl> <dlsarb$6ki$1@news.onet.pl> <dlscse$kv4$1@nemesis.news.tpi.pl> <dlsvgm$bh9$2@news.dialog.net.pl> <dlui26$m2v$1@atlantis.news.tpi.pl> <4384582F.1000801@wp.pl>
NNTP-Posting-Host: 199.wmok.net
Mime-Version: 1.0
X-Trace: nemesis.news.tpi.pl 1132752518 3965 217.96.29.199 (23 Nov 2005 13:28:38 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Wed, 23 Nov 2005 13:28:38 +0000 (UTC)
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
In-Reply-To: <4384582F.1000801@wp.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit