🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Musze pomagac synowi

#10144
From: Tomasz Muszyński
Date: Mon, 21 Nov 2005 00:28
90 lines
6335 bytes
Jaroslaw Kowalski napisał(a):
> Moim zdaniem to bardzo źle, że szkoła nie uczy rozwiązywania problemów 
> poprzez dobór odpowiednich narzędzi, a wymusza zupełnie sztucznie 
> niewłaściwe narzędzia. Niektóre problemy można efektywnie rozwiązać tylko 
>  ...

Raczej dzieci w wieku szkolnym nie będą potrafiły wybrać odpowiedniego 
narzędzia. :) Tego uczą trochę później...

A tak btw, jaki to wiek tego synka? może on juz jest na studiach, a my 
tu o podstawach? ;)

> IMHO zmuszanie kogokolwiek do pisania w języku w którym nie ma stringa, 
> hashtable i sensownych kolekcji (a raczej gdzie jest 50 pomysłów na to jak 
> "robić" stringi i podstawowe struktury danych, o niespójności API nie 
> wspomnę) jest w dzisiejszych czasach absolutnie nieuzasadnione - głównie z 
> powodów ekonomicznych. Darmowość kompilatora GCC nie ma tu nic do rzeczy bo 
> wszystkie kompilatory Microsoftu są od dłuższego czasu darmowe.

Ja zaczynałem swoją naukę języków programowania od C dla AmigaOS i 
asemblera 68000 i nie żałuję. C++ trochę ominąłem i zabrałem się za C# i 
też nie żałuję.
Owszem, C# i podobne technologie dają wiele ułatwień, framework .Net to 
zaś kolejne ułatwienia, ale znajomość C pozwala na zaznajomienie się 
także ze sprzętem, sposobem jego działania i problemami z niego 
wynikającymi. Sama znajomość jezyków typu C# to tylko znajomość rzeczy 
dlaczego producent danego języka zrobił to tak a nie inaczej (np. 
problem aktualizacji GUI przez inne wątki jest problemem czysto 
Windowsowym, a przedarł się do System.Windows.Forms, które choć troche 
powinno być niezależne od systemu, albo powinno nazywać się 
Microsoft.Windows.Forms, a wtedy bym się nie czepiał). Osoba zaczynająca 
od C# ma kolekcje, hashtable, itp., ale tak naprawdę nie zna sposobu ich 
działania, nie będzie do końca rozumiał idei referencji, czy też trybu 
unsafe. Nie mówię, że tak będzie zawsze, ale widziałem wielu 
programistów zaczynających właśnie od języków typu C#, czy java i oni 
poprostu nie mają podstaw i nie rozumieją wielu problemów, które znają 
osoby zaczynające od C.

 > skomplikowania), inne C#/VB/Java - większość obecnie tworzonych
 > aplikacji
 > biznesowych. Do przetwarzania tekstów dość dobrze nadaje się Perl,
 > przetwarzanie XMLa dobrze robić w XSLu, itd.

Czy szkoła ma uczyć tworzenia aplikacji biznesowych? Chyba za wcześnie 
:) Tu chodziło chyba o podstawy.

 > ...
 > istniało. Czasy się zmieniły, komputery są szybkie, pamięć jest w
 > praktycznie darmowa, znacznie rozwinęła się technologia kompilatorów i
 > języków dynamicznych, a praca programisty jest cały czas droga i
 > raczej taka
 > pozostanie. Powinno się zatem wykorzystywać technologie optymalne z
 > punktu
 > widzenia wydajności pracy programisty i szkoła powinna tego uczyć. C++
 > pod
 > tym względem (zwykle) nie przystaje do dzisiejszych wymagań.

Ci właśnie "programiści" generują programy wymagające tysiąca bibliotek, 
gigabajtów pamięci i gigaherców, a sprawy optymalizacji sa im kompletnie 
obce. Mimo posiadania gigaherców programy te chodzą dalej jakby działały 
na kiepskim x86. Przykładem dobrego programu jest np. terminal PuTTY, 
czy WinSCP, które potrafią uruchomić się bez instalacji i z jednego 
exec'a, a ich rozmiary są niewielkie. Tu mogę jeszcze dodać 2 programy - 
PageStream oraz QuarkXPress - programy dosyć surowe, ale wydajne. 
Niestety, tego typu programy to już rzadkość. Np. niegdyś szybkie i 
dosyć małe ACDSee teraz jest wielką kobyłą niewartą złamanego grosza. 
Kolejny przykład - Windows Vista - przerost formy nad treścią. Zamiast 
zoptymalizować Windows XP, dowalono kupę świecidełek, bo przecież mamy 
gigabajty i gigaherce... dla mnie to nietędy droga. Trzeba ciąglę 
pamiętać o C, trochę i o asemblerze, aby mieć pojęcie jak te całe 
Windowsy działają, dlaczego coś jest wolne, dlaczego się wykłada, co to 
zwalnianie pamięci, itp... Niestety .Net jest jednym z przykładów 
niezbyt optymalnego zarządzania pamięcią - programik z 1 linijką kodu 
zajmie, nie wiedzieć czemu, parę mega ramu. Ja mam wciąż Athlona 1700+ i 
mi to wystarcza, a dlaczego mam zmieniać go na coś lepszego, co i tak za 
rok okaże się, że będzie już za wolne, bo MS wymyśli sobie Windows 
Srista, Sraczka, czy jak to się tam nazwie...

Może i zaczynanie od C, to amibitne zadanie, ale IMHO lepsze niż od C#. 
Mi w podstawówce próbowali pokazać Logo, ale nie uważam tego za dobry 
początek, tym bardziej że wtedy już liznąłem trochę C :)

Ciężkim zadaniem jest zaś rozpoczynanie programowania w Windows. Kiedyś 
nie mieliśmy tysięcy "genialnych technologii" i życie było prostsze :)

I na zakończenie - Dev-C++ nie wychowuje społeczeństwa uzależnionego od 
Microsoftu, więc IMHO to raczej dobry wybór :)

Pozdrawiam,
tm
Technical Details
Message-ID: <dlr4cb$6c5$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dlkfmt$9u9$1@news.onet.pl> <dlknmf$94e$1@nemesis.news.tpi.pl> <437DE6E3.6030005@wp.pl> <437DEAD1.9060606@wp.pl> <dlkqh9$j67$1@nemesis.news.tpi.pl> <dlkqrj$jmk$1@news.onet.pl> <dll40m$bl8$1@achot.icm.edu.pl> <1bq8723rqvn34.dlg@fdsvzxcc.rtb.com> <dlpid2$et0$1@nemesis.news.tpi.pl> <dlqbuf$4ct$1@inews.gazeta.pl> <dlqp6l$18cp$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Tomasz Muszyński <thom_ek@op.pl_nospam>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Musze pomagac synowi
Date: Mon, 21 Nov 2005 01:28:06 +0100
Organization: tp.internet - http://www.tpi.pl/
Lines: 90
Message-ID: <dlr4cb$6c5$1@nemesis.news.tpi.pl>
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dlkfmt$9u9$1@news.onet.pl> <dlknmf$94e$1@nemesis.news.tpi.pl> <437DE6E3.6030005@wp.pl> <437DEAD1.9060606@wp.pl> <dlkqh9$j67$1@nemesis.news.tpi.pl> <dlkqrj$jmk$1@news.onet.pl> <dll40m$bl8$1@achot.icm.edu.pl> <1bq8723rqvn34.dlg@fdsvzxcc.rtb.com> <dlpid2$et0$1@nemesis.news.tpi.pl> <dlqbuf$4ct$1@inews.gazeta.pl> <dlqp6l$18cp$1@node1.news.atman.pl>
NNTP-Posting-Host: dnk37.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: nemesis.news.tpi.pl 1132532939 6533 83.24.92.37 (21 Nov 2005 00:28:59 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Mon, 21 Nov 2005 00:28:59 +0000 (UTC)
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
X-Accept-Language: pl, en-us, en
In-Reply-To: <dlqp6l$18cp$1@node1.news.atman.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit