-
21. Data: 2011-02-01 12:50:26
Temat: Re: które języki 'historyczne' sš ważne
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
On 2011-02-01, R. P. <r...@w...pl> wrote:
> W dniu 2011-02-01 10:50, Stachu 'Dozzie' K. pisze:
>> On 2011-02-01, R. P.<r...@w...pl> wrote:
>>> W dniu 2011-02-01 09:25, Krzysiek Kowaliczek pisze:
>>>> Użytkownik R. P. napisał:
>>>>> W Pascalu wskaźniki są bardziej "popsute" niż w C. Dają mniejszą
>>>>> elastyczność. Siła C tkwi we wskaźnikach, w słabej typizacji. To się
>>>>> idealnie nadaje do programowania systemowego.
>>>>
>>>> Pierwszy raz słyszę, że słaby system typów jest zaletą.
>>>
>>> W programowaniu systemowym tak, bo pozwala robić różne sprytne rzuty na
>>> wskaźnikach.
>>
>> #define programowanie systemowe
>
> kernel + programowanie około-kernelowe - ogólnie programowanie w trybie
> jądra, a więc i też sterowniki urządzeń, etc.
>
>> #define sprytne rzuty
>
> Magia typu void*. Nie ma co się rozpisywać. Jako programista
> unixowy/linuxowy doskonale wiesz co mam na myśli.
No OK. Magia potrzebna, bo w tym języku nie ma innej możliwości niż
rzeźbić w pamięci bajt po bajcie. Tylko wiesz, są też inne języki, które
potrafią się bez tego obejść (wyjąwszy może komunikację z urządzeniami
zewnętrznymi). Żeby nie szukać daleko, BASIC. Trochę się ta magia
okazuje mało sprytna.
>> I objaśnij w jaki sposób to ma niby pomagać.
>
> C daje czytelność języka strukturalnego wysokiego poziomu (jak Pascal),
> jednocześnie dając moc assemblera.
^^^^^^^^^^^^^^
Eeee... że co dając jednocześnie? I jakiego poziomu ten język? Kto ci
nakłamał że Pascal czy C to wysoki poziom? Haskell czy Matlab to języki
wysokiego poziomu, a nie Pascal.
A assembler to daje ci co najwyżej dostęp do urządzeń I/O i trybów
procesora. Żadna to moc, tylko ordynarna praca z hardwarem.
--
Secunia non olet.
Stanislaw Klekot
-
22. Data: 2011-02-01 13:03:02
Temat: Re: które języki 'historyczne' sš ważne
Od: Krzysiek Kowaliczek <k...@g...com>
Użytkownik R. P. napisał:
>> #define programowanie systemowe
>
> kernel + programowanie około-kernelowe - ogólnie programowanie w trybie
> jądra, a więc i też sterowniki urządzeń, etc.
Czego niby brakuje w C++, Pascalu czy Adzie?
>> #define sprytne rzuty
>
> Magia typu void*. Nie ma co się rozpisywać. Jako programista
> unixowy/linuxowy doskonale wiesz co mam na myśli.
>
Rozumiem że w programie dostajesz magiczne dane, ponieważ słaby
system typów nie uratował Cię od pomyłki?
Pozdrawiam
KK
-
23. Data: 2011-02-01 13:08:49
Temat: Re: które języki 'historyczne' sš ważne
Od: "R. P." <r...@w...pl>
W dniu 2011-02-01 13:50, Stachu 'Dozzie' K. pisze:
> On 2011-02-01, R. P.<r...@w...pl> wrote:
>> W dniu 2011-02-01 10:50, Stachu 'Dozzie' K. pisze:
>>> On 2011-02-01, R. P.<r...@w...pl> wrote:
>>>> W dniu 2011-02-01 09:25, Krzysiek Kowaliczek pisze:
>>>>> Użytkownik R. P. napisał:
>>>>>> W Pascalu wskaźniki są bardziej "popsute" niż w C. Dają mniejszą
>>>>>> elastyczność. Siła C tkwi we wskaźnikach, w słabej typizacji. To się
>>>>>> idealnie nadaje do programowania systemowego.
>>>>>
>>>>> Pierwszy raz słyszę, że słaby system typów jest zaletą.
>>>>
>>>> W programowaniu systemowym tak, bo pozwala robić różne sprytne rzuty na
>>>> wskaźnikach.
>>>
>>> #define programowanie systemowe
>>
>> kernel + programowanie około-kernelowe - ogólnie programowanie w trybie
>> jądra, a więc i też sterowniki urządzeń, etc.
>>
>>> #define sprytne rzuty
>>
>> Magia typu void*. Nie ma co się rozpisywać. Jako programista
>> unixowy/linuxowy doskonale wiesz co mam na myśli.
>
> No OK. Magia potrzebna, bo w tym języku nie ma innej możliwości niż
> rzeźbić w pamięci bajt po bajcie. Tylko wiesz, są też inne języki, które
> potrafią się bez tego obejść (wyjąwszy może komunikację z urządzeniami
> zewnętrznymi). Żeby nie szukać daleko, BASIC. Trochę się ta magia
> okazuje mało sprytna.
>
>>> I objaśnij w jaki sposób to ma niby pomagać.
>>
>> C daje czytelność języka strukturalnego wysokiego poziomu (jak Pascal),
>> jednocześnie dając moc assemblera.
> ^^^^^^^^^^^^^^
> Eeee... że co dając jednocześnie? I jakiego poziomu ten język? Kto ci
> nakłamał że Pascal czy C to wysoki poziom? Haskell czy Matlab to języki
> wysokiego poziomu, a nie Pascal.
Haskel to już inny paradygmat. Trudno jest porówynwać Haskella do C...
Zresztą popularność Haskella mówi dużo o tym języku. Co mówi? Ano to, że
jest trudny do opanowania i niewielu programistów go używa. Wciąż
triumfy święci C/C++ i Java.
> A assembler to daje ci co najwyżej dostęp do urządzeń I/O i trybów
> procesora. Żadna to moc, tylko ordynarna praca z hardwarem.
Ale cały base jest też napisany w C. Wszystkie podstawowe narzędzia
unixowe, takie jak sort np. są w C. Ten język jest potęgą właśnie też ze
względu na ilość oprogramowania w nim stworzonego. Usiądziesz teraz i
przepiszesz linuxowego sorta w haskellu? Będzie szybszy od tego z base
napisanego w C? :)
-
24. Data: 2011-02-01 13:09:45
Temat: Re: które języki 'historyczne' sš ważne
Od: "R. P." <r...@w...pl>
W dniu 2011-02-01 14:03, Krzysiek Kowaliczek pisze:
> Użytkownik R. P. napisał:
>>> #define programowanie systemowe
>>
>> kernel + programowanie około-kernelowe - ogólnie programowanie w trybie
>> jądra, a więc i też sterowniki urządzeń, etc.
>
> Czego niby brakuje w C++, Pascalu czy Adzie?
Prostoty. C++ ze swoimi szablonami itp. narzędziami jest zbyt
skomplikowany do pisania oprogramowania systemowego w nim.
>>> #define sprytne rzuty
>>
>> Magia typu void*. Nie ma co się rozpisywać. Jako programista
>> unixowy/linuxowy doskonale wiesz co mam na myśli.
>>
>
> Rozumiem że w programie dostajesz magiczne dane, ponieważ słaby
> system typów nie uratował Cię od pomyłki?
Halo, przecież ja mówię cały czas o programowaniu systemowym, nie
aplikacyjnym!
-
25. Data: 2011-02-01 13:34:29
Temat: Re: które języki 'historyczne' sš ważne
Od: Krzysiek Kowaliczek <k...@g...com>
Użytkownik R. P. napisał:
> Prostoty. C++ ze swoimi szablonami itp. narzędziami jest zbyt
> skomplikowany do pisania oprogramowania systemowego w nim.
Kto Cię zmusza do używania szablonów? Masz jeszcze do dyspozycji
bezpieczniejszy system typów ( choć daleko mu jeszcze do ideału ),
destruktory, itd. Zresztą pisałem też o Adzie i Pascalu.
>> Rozumiem że w programie dostajesz magiczne dane, ponieważ słaby
>> system typów nie uratował Cię od pomyłki?
>
> Halo, przecież ja mówię cały czas o programowaniu systemowym, nie
> aplikacyjnym!
To właśnie w programowaniu systemowym powinno się kłaść *maksymalny*
nacisk na bezpieczeństwo!
Pozdrawiam
KK
-
26. Data: 2011-02-01 14:17:42
Temat: Re: które języki 'historyczne' sš ważne
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
On 2011-02-01, R. P. <r...@w...pl> wrote:
>>>> I objaśnij w jaki sposób to ma niby pomagać.
>>>
>>> C daje czytelność języka strukturalnego wysokiego poziomu (jak Pascal),
>>> jednocześnie dając moc assemblera.
>> ^^^^^^^^^^^^^^
>> Eeee... że co dając jednocześnie? I jakiego poziomu ten język? Kto ci
>> nakłamał że Pascal czy C to wysoki poziom? Haskell czy Matlab to języki
>> wysokiego poziomu, a nie Pascal.
>
> Haskel to już inny paradygmat. Trudno jest porówynwać Haskella do C...
Ę? Dlaczego niby trudno? I jak definiujesz "wysokopoziomowość", że
C jest dla ciebie poziomem wysokim?
> Zresztą popularność Haskella mówi dużo o tym języku. Co mówi? Ano to, że
> jest trudny do opanowania i niewielu programistów go używa.
A gdy na sprawę spojrzysz inaczej: mówi tyle, że bardzo trudno znaleźć
kretyna-programistę piszącego w Haskellu.
To nie ma nic do rzeczy.
> Wciąż
> triumfy święci C/C++ i Java.
A co to ma wspólnego z "wysokopoziomowością" języka, jakkolwiek
definiowaną?
>> A assembler to daje ci co najwyżej dostęp do urządzeń I/O i trybów
>> procesora. Żadna to moc, tylko ordynarna praca z hardwarem.
>
> Ale cały base jest też napisany w C. Wszystkie podstawowe narzędzia
> unixowe, takie jak sort np. są w C.
No i? Równie dobrze mogłyby być w Adzie. Gdzie jest ta moc assemblera,
którą dostajesz w C?
> Ten język jest potęgą właśnie też ze
> względu na ilość oprogramowania w nim stworzonego.
Fortran, to jest potęga! Popatrz ile bibliotek obliczeniowych jest w nim
napisanych!
> Usiądziesz teraz i
> przepiszesz linuxowego sorta w haskellu? Będzie szybszy od tego z base
> napisanego w C? :)
Może mi jeszcze wyjedziesz z porównaniem wydajności programu robiącego
"while (1) ;" napisanego w assemblerze, C i Haskellu? W jaki sposób to
ma świadczyć o potędze jakiegoś języka (jakkolwiek byś tej potęgi nie
zdefiniował)?
--
Secunia non olet.
Stanislaw Klekot
-
27. Data: 2011-02-01 14:26:52
Temat: Re: które języki 'historyczne' sš ważne
Od: "R. P." <r...@w...pl>
W dniu 2011-02-01 15:17, Stachu 'Dozzie' K. pisze:
> On 2011-02-01, R. P.<r...@w...pl> wrote:
>>>>> I objaśnij w jaki sposób to ma niby pomagać.
>>>>
>>>> C daje czytelność języka strukturalnego wysokiego poziomu (jak Pascal),
>>>> jednocześnie dając moc assemblera.
>>> ^^^^^^^^^^^^^^
>>> Eeee... że co dając jednocześnie? I jakiego poziomu ten język? Kto ci
>>> nakłamał że Pascal czy C to wysoki poziom? Haskell czy Matlab to języki
>>> wysokiego poziomu, a nie Pascal.
>>
>> Haskel to już inny paradygmat. Trudno jest porówynwać Haskella do C...
>
> Ę? Dlaczego niby trudno? I jak definiujesz "wysokopoziomowość", że
> C jest dla ciebie poziomem wysokim?
>
>> Zresztą popularność Haskella mówi dużo o tym języku. Co mówi? Ano to, że
>> jest trudny do opanowania i niewielu programistów go używa.
>
> A gdy na sprawę spojrzysz inaczej: mówi tyle, że bardzo trudno znaleźć
> kretyna-programistę piszącego w Haskellu.
A ty programujesz w Haskellu? :)
>> Wciąż
>> triumfy święci C/C++ i Java.
>
> A co to ma wspólnego z "wysokopoziomowością" języka, jakkolwiek
> definiowaną?
Czy ja napisałem, że ma coś wspólnego z wysokopoziomowością? Raczej z
popularności wynika to, że dużo bibliotek jest napisanych w C.
>>> A assembler to daje ci co najwyżej dostęp do urządzeń I/O i trybów
>>> procesora. Żadna to moc, tylko ordynarna praca z hardwarem.
>>
>> Ale cały base jest też napisany w C. Wszystkie podstawowe narzędzia
>> unixowe, takie jak sort np. są w C.
>
> No i? Równie dobrze mogłyby być w Adzie. Gdzie jest ta moc assemblera,
> którą dostajesz w C?
To usiądź i napisz kernel w Adzie. Przecież oprogramowanie systemowe się
rozszerza, nie pisze się go od nowa. To co, połowa będzie w C a połowa w
Adzie? W latach 80 zaczęto pisać kernele w C i tak już zostało. Nic nie
wskazuje na to ,żeby to się miało zmienić.
>> Usiądziesz teraz i
>> przepiszesz linuxowego sorta w haskellu? Będzie szybszy od tego z base
>> napisanego w C? :)
>
> Może mi jeszcze wyjedziesz z porównaniem wydajności programu robiącego
> "while (1) ;" napisanego w assemblerze, C i Haskellu? W jaki sposób to
> ma świadczyć o potędze jakiegoś języka (jakkolwiek byś tej potęgi nie
> zdefiniował)?
Pytam - czy twój sort w Haskellu będzie szybszy od systemowego sorta w C?
-
28. Data: 2011-02-01 14:28:58
Temat: Re: które języki 'historyczne' s ważne
Od: A.L. <l...@a...com>
On Tue, 01 Feb 2011 10:46:17 +0100, "R. P." <r...@w...pl>
wrote:
>W dniu 2011-02-01 09:25, Krzysiek Kowaliczek pisze:
>> Użytkownik R. P. napisał:
>>> W Pascalu wskaźniki są bardziej "popsute" niż w C. Dają mniejszą
>>> elastyczność. Siła C tkwi we wskaźnikach, w słabej typizacji. To się
>>> idealnie nadaje do programowania systemowego.
>>
>> Pierwszy raz słyszę, że słaby system typów jest zaletą.
>
>W programowaniu systemowym tak, bo pozwala robić różne sprytne rzuty na
>wskaźnikach. W programowaniu wysokopoziomowym jest wadą.
Za taka wypowiedz, gdyby wypowiedzial ja student, wyrzucilbym go za
drzwi. Jezeli wypowiada to profesjonalista, wzruszam ramionami i
odchodze.
Albowiem "sprytne rzuty" sa pzrede wszystkim zrodlem bledow.
Systemowych.
Wieksosc neisczesc spowodowana jest tym ze "programy systemowe"
napisane sa w C z "chytrymi rzutami"
A.L.
-
29. Data: 2011-02-01 14:34:58
Temat: Re: które języki 'historyczne' s ważne
Od: A.L. <l...@a...com>
On Tue, 01 Feb 2011 14:09:45 +0100, "R. P." <r...@w...pl>
wrote:
>W dniu 2011-02-01 14:03, Krzysiek Kowaliczek pisze:
>> Użytkownik R. P. napisał:
>>>> #define programowanie systemowe
>>>
>>> kernel + programowanie około-kernelowe - ogólnie programowanie w trybie
>>> jądra, a więc i też sterowniki urządzeń, etc.
>>
>> Czego niby brakuje w C++, Pascalu czy Adzie?
>
>Prostoty. C++ ze swoimi szablonami itp. narzędziami jest zbyt
>skomplikowany do pisania oprogramowania systemowego w nim.
>
>>>> #define sprytne rzuty
>>>
>>> Magia typu void*. Nie ma co się rozpisywać. Jako programista
>>> unixowy/linuxowy doskonale wiesz co mam na myśli.
>>>
>>
>> Rozumiem że w programie dostajesz magiczne dane, ponieważ słaby
>> system typów nie uratował Cię od pomyłki?
>
>Halo, przecież ja mówię cały czas o programowaniu systemowym, nie
>aplikacyjnym!
O programowaniu systemowym w Pacalu (a konkretnie w Concurrent
Pascalu) pisal Per Brinch Hansen w ruku 1977 (Ksaiazka "Architecture
of Concurrent Programs") i zrobil system operacyjnu SOLO napisany
calkowice w Concurrent Pascalu. Wirth napisal system operacyjny w
Moduli do computera Lilith, i system operacyjny Oberon w jezyku
Oberon.
Mit ze "systemy operacyjne tzreba pisac w C bo nei ma typowania i jest
bliskiasemblerowi" jest jednym z najbardziej idiotycznych mitow jakie
sie rozpowszechniaja, a jak juz pisalem, fakt ze wiele programow
"systemowych" jest napisanych w nietypowanym i niepewnym (non safe) C
jest sprawca wielu problemow.
A.L.
-
30. Data: 2011-02-01 14:36:40
Temat: Re: które języki 'historyczne' s ważne
Od: A.L. <l...@a...com>
On Tue, 1 Feb 2011 03:41:43 -0800 (PST), Andrzej Jarzabek
<a...@g...com> wrote:
>> >> W twoim podziale wstawienie w rodek C nie jest niczym uzasadnione.
>>
>> >Jak najbardziej ma znaczenie. J zyk C przyni s rewolucj , razem z
>> >UNIXem. To od niego zacz a si nowa era programowania.
>>
>> Jaka "nowa era"?... C to popsuty Pascal.
>
>Nawet jeśli, to jakie ma to znaczenie?
>
Takei ma znaczenie, ze popsucie bylo dosyc fundamentalne, a
rozpowszechnienei sie jezyka C bylo jednym z najwiekszych nieszczesc
jakie dotknelo informatyke.
>[...]
>> >operacyjnych (w tym i najwa niejszych - Unix i Linux) pisze si w C. C
>> >jest centralnym, podstawowym j zykiem r wnie we wsp czesnej informatyce.
>>
>> Naprawde?...
>
>Ja bym powiedział, że niezależnie od aktualnych zastosowań ma duże
>znaczenie historyczne.
>
>Patrzysz na języki z punktu widzenia "features" i tu faktycznie C
>niczego ciekawego nie wprowadza, ale wybór języka to też kwestia
>pewnych przyzwyczajeń i, powiedzmy, estetyki. Prawdopodobnie większość
>powstającego dzisiaj kodu jest pisana w językach, których składnia
>jest wzorowana na C bezpośrednio, lub za pośrednictwem C++: użycie
>nawiasów klamrowych, sposób deklarowania i definiowania zmiennych,
>funkcji, typów, sposób zapisu instrukcji warunkowych i pętli, case-
>sensitivity.
>
>Abstrahując od tego, czy to dobrze, czy niedobrze, fgakt jest taki, że
>język C ukształtował przyzwyczajenia estetyczne współczesnego
>programisty.
I to jest wlasnei neiszczescie
A.L.