-
31. Data: 2020-07-07 14:48:21
Temat: Re: C is number one (znowu)
Od: Roman Tyczka <n...@b...no>
On Tue, 7 Jul 2020 03:14:19 -0700 (PDT), g...@g...com wrote:
>>> Ale można znaleźć do tego jakiś link
>>
>> Zawsze możesz puścić w net skan swojego świadectwa maturalnego.
>> Plus fotki obu stron swojej aktywnej karty kredytowej, koniecznie
>> z aktualnym pin.
>
> Lol.
>
> Większość pracowników akademickich, jakich znam, nie boi się publikować swojego
dorobku naukowego pod własnym nazwiskiem.
>
> Dlatego raczej z rezerwą podchodzę do przechwałek usenetowych sławków o ich listach
filadelfijskich
Odjebaliśta Panowie piękny festyn żenady, wszyscy już się po pachy
ubawiliśmy, ale zaczęło ciągnąć nudą i powtórkami...
Zatem proponuję dać sobie po ostatnim razie i zająć się czymś
konstruktywniejszym niż kopanie po wirtualnych zadkach.
Może dla odmiany coś o programowaniu? Kę?
--
pozdrawiam
Roman Tyczka
-
32. Data: 2020-07-07 15:52:54
Temat: Re: C is number one (znowu)
Od: Gazu <g...@n...net>
On 2020-07-06, g...@g...com <g...@g...com> wrote:
>>
>> Python wyraźnie jest różny od C/C++ co do "filozofii"
>
> C też jest wyraźnie różny od C++ co do filozofii.
> C# jest również wyraźnie różny od C i C++ co do filozofii.
>
A filozowicznie rzecz biorac to jak sie roznia.
-
33. Data: 2020-07-07 18:10:31
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu wtorek, 7 lipca 2020 15:52:56 UTC+2 użytkownik Gazu napisał:
> >>
> >> Python wyraźnie jest różny od C/C++ co do "filozofii"
> >
> > C też jest wyraźnie różny od C++ co do filozofii.
> > C# jest również wyraźnie różny od C i C++ co do filozofii.
> >
>
> A filozowicznie rzecz biorac to jak sie roznia.
To dość proste.
Język C jest językiem systemowym - został stworzony do napisania UNIXa przenośnego
pomiędzy różnymi zestawami instrukcji, i z tego względu jest często określany mianem
"przenośnego asemblera".
Język C++ to trochę dziwadło. Sam jego twórca często porównuje go do słonia, który
dla jednego jest trąbą, dla drugiego uchem, a dla trzeciego dupą ze zwisającymi
jajcami. Oryginalnie był prostym preprocesorem języka C, który rozszerzał go o
"mechanizmy obiektowości" znane z języka Simula.
Finalnie został rozszerzany o kolejne mechanizmy, w tym preprocesor szablonów, który
przypadkiem okazał się "Turing-complete".
Jakiś czas temu napisałem taką charakterystykę:
https://www.quora.com/If-you-are-going-to-write-a-bo
ok-named-C-the-good-parts-what-will-be-in-that-book/
answer/Panicz-Godek
W każdym razie twórcy języka C raczej nie lubią C++ (filozoficznie).
Jeżeli idzie o C#, to on nie jest "językiem systemowym", tylko "językiem aplikacji".
W przeciwieństwie do C, nie ma w nim wskaźników (są specjalne mechanizmy do pracy z
kodem w C/C++).
Twórca języka C# twierdzi, że C++ był dla niego dużą inspiracją, ale jest tajemnicą
Poliszynela, że C# to właściwie taka Java od Microsoftu - język działający na
maszynie wirtualnej, która zapewnia bezpieczeństwo w dostępie do zasobów.
To tak pokrótce.
-
34. Data: 2020-07-07 20:10:47
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu wtorek, 7 lipca 2020 17:38:19 UTC+2 użytkownik slawek napisał:
>
>
> Większość ludzi nie zmienia mechatroniki na filozofię po 4 i pół
> roku studiowania. Aby ostatecznie znaleźć swoje miejsce w
> informatyce. Co tam u Wielkiego Niebieskiego? A... skończyło się,
> no i NDA? Też uważam że embeded to przyszłość.
O, widzę, że znalazłeś w internecie informacje na mój temat, które tam umieściłem.
Jestem pod wrażeniem. Umiesz korzystać z wyszukiwarki.
Myślę, że gimnazjum to byłaby dla Ciebie pestka.
(Tylko pamiętaj, żeby nie kopiować artykułów z Wikipedii na wypracowania, bo
nauczyciele raczej się kapną)
> Co do publikowania - sprawdź skąd się bierze nazwa "test
> Studenta". Tak, od faceta który publikował pod pseudonimem.
> Myślisz że Bolesław Prus naprawdę nazywał się Prus? No coż, życie
> bywa trochę bardziej skomplikowane.
Owszem, zdarzają się i takie przypadki.
Ale jeżeli idzie o kolesi, którzy przechwalają się w Internecie, czego to oni nie
osiągnęli, to ich "tajemniczość" bierze się raczej zazwyczaj stąd, że po prostu
niewiele osiągnęli.
I nie ma nic złego w tym, że się nic nie osiągnęło.
Ja sam raczej niewiele osiągnąłem. Dużo mniej, niż bym chciał.
Raczej chodzi o to, że niepotrzebnie się przechwalają.
Ludzie, którzy robią coś sensownego ze swoim życiem, nie mają czasu na takie
przechwałki, i nie mają takiej potrzeby.
-
35. Data: 2020-07-10 23:01:03
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu czwartek, 9 lipca 2020 11:03:41 UTC+2 użytkownik slawek napisał:
> Jak sam widzisz, gdy piszę o większym stażu to po prostu jest to
> fakt, bo nawet jeżeli pisałeś programy już w przedszkolu to i tak
> ja mam większy. Tak samo z doświadczeniem - zawodowym i życiowym
> - trochę czasu a będziesz miał go tyle co i ja.
Tzn. to Ty twierdzisz, że to jest fakt.
Ale nie dostarczasz na to żadnego świadectwa. A to, którego dostarczasz,
tzn. odzywki na poziomie gimnazjum, i absolutny brak linków do konkretnego kodu, czy
w zasadzie jakichkolwiek konkretów, raczej wydają się temu przeczyć.
Ponadto to nie jest tak, że doświadczenie się zdobywa wraz z upływem czasu.
Tzn. owszem, kiedy zdobywamy doświadczenie, czas upływa. Ale może też upływać bez
zdobywania doświadczenia. Zdobywanie doświadczenia wymaga podejmowania wyzwań. Bez
tego człowiek tylko się starzeje.
A bycie starym nie jest samo w sobie przesadnie imponujące.
-
36. Data: 2020-07-11 11:35:05
Temat: Re: C is number one (znowu)
Od: Roman Tyczka <n...@b...no>
On Sat, 11 Jul 2020 09:43:54 +0200 (GMT+02:00), slawek wrote:
> Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu
> źródłowego, jakiś linków, danych, czegokolwiek. Po drugie, akurat
Nie jakiś tylko jakichś, panie prof. dr hab. Sławku.
--
pozdrawiam
Roman Tyczka
-
37. Data: 2020-07-11 18:49:15
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu sobota, 11 lipca 2020 12:26:45 UTC+2 użytkownik slawek napisał:
> > Język C jest językiem systemowym - został stworzony do napisania UNIXa
przenośnego pomiędzy różnymi zestawami instrukcji, i z tego względu jest często
określany mianem "przenośnego asemblera".
>
> Hmmm, jesteś pewien że C został zrobiony " na zamówienie" Uniksa?
Tak.
> Czyli najpierw był pomysł AT&T, a to wymusiło zrobienie nowego
> języka? Czy raczej język C był zrobiony niezależnie, jako upgrade
> BCPL i twórcy Uniksa chwycili go - bo był tym czego potrzebowali?
Nie.
Znam dwa źródła historyczne, które stwierdzają, że C powstał, żeby przenosić UNIXa.
Jednym jest niedawny wywiad Kernighana z Thompsonem:
https://youtu.be/EY6q5dv_B-o
Drugim jest pejper Dennisa Ritchie o historii C (łatwy do wyguglania)
> Anyway, obecnie GNU akceptuje C++, podobnie Windows nie jest
> (chyba już) robione w C, ale C++. Nawet Arduino to C++ tylko
> udające C.
Mówisz teraz o dupie słonia.
Ja mówię o całym słoniu.
> > Język C++ to trochę dziwadło.
>
> Niespecjalnie. Są głupsiejsze języki.
Tyle się na ten temat nagadałem, że już mi się nie chce.
https://www.quora.com/Why-do-some-coders-dislike-c-c
oding/answer/Panicz-Godek
https://www.quora.com/Why-is-C-used-more-than-C-in-s
ystem-programming-since-C-has-more-features-and-is-m
ore-flexible/answer/Panicz-Godek
https://www.quora.com/Is-it-still-worthwhile-to-lear
n-C-given-that-C-can-do-almost-everything-better/ans
wer/Panicz-Godek
> > Jeżeli idzie o C#, to on nie jest "językiem systemowym", tylko "językiem
aplikacji". W przeciwieństwie do C, nie ma w nim wskaźników (są specjalne mechanizmy
do pracy z kodem w C/C++).
>
> Są. Tak samo jak w Javie
W Javie nie ma. W C# jest marshalling, ale poza tym zmienne mają typ referencji.
> Tyle że nie wypada o tym mówić. Nie ma
> arytmetyki wskaźników.
W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu zawiera
się istota tego, czym jest wskaźnik.
> > Twórca języka C# twierdzi, że C++ był dla niego dużą inspiracją, ale jest
tajemnicą Poliszynela, że C# to właściwie taka Java od Microsoftu - język działający
na maszynie wirtualnej, która zapewnia bezpieczeństwo w dostępie do zasobów. To tak
pokrótce.
>
> Towarzysz Poliszynel zeznał też że Java to miało być takie lepsze C++.
Nie do końca. Target Javy to byli programiści aplikacyjni C++. C++ to wielki zwierz,
obejmujący zastosowaniem zarówno oprogramowanie aplikacyjne jak i systemowe.
Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt. Minecraft mógł
powstać w Javie, ale taki Unreal Engine już raczej nie.
-
38. Data: 2020-07-11 19:25:52
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu sobota, 11 lipca 2020 09:44:01 UTC+2 użytkownik slawek napisał:
> > absolutny brak linków do konkretnego kodu, czy w zasadzie jakichkolwiek
konkretów, raczej wydają się temu przeczyć.
>
> Po pierwsze, zrozum że nikt nie ma obowiązku dawać ci kodu
> źródłowego, jakiś linków, danych, czegokolwiek.
Ja to rozumiem. Nikt nie ma obowiązku kontrybuowania na forach internetowych w
pozytywny sposób. Na niemoderowanych forach trolowanie i kozaczenie są dozwolone. Co
nie zmienia faktu, że nic dobrego z takich postaw nie wynika.
-
39. Data: 2020-07-11 20:45:19
Temat: Re: C is number one (znowu)
Od: Maciej Sobczak <s...@g...com>
> > Tyle że nie wypada o tym mówić. Nie ma
> > arytmetyki wskaźników.
>
> W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu
zawiera się istota tego, czym jest wskaźnik.
Nie. Arytmetyka wskaźników to cecha właściwie wyłącznie języków asemblerowych, do
których C, właśnie z powodu tej arytmetyki, można zaliczyć. Właściwie powód dla
którego C ma arytmetykę wskaźników i nie ma prawdziwych tablic, jest ten sam.
Przykładowo, Ada, która jak najbardziej jest językiem systemowym i która powstała z
myślą o systemach wbudowanych, arytmetyki wskaźników nie ma. Tzn. można się naszarpać
z rzutowaniem do typu arytmetycznego, na którym od biedy da się coś dodać albo odjąć,
ale konieczność tego szarpania to właśnie przejaw braku arytmetyki na właściwych
wskaźnikach.
Zauważ też, że w C++ istnieje wiele standardowych typów pełniących funkcję wskaźnika
(smart pointery) i one też nie mają arytmetyki - w dodatku nie przez przeoczenie,
tylko celowo.
> Nie do końca. Target Javy to byli programiści aplikacyjni C++.
Ciekawe, że pojęcie "aplikacji" się rozmyło w świecie internetu. Pojęcie "serwera
aplikacji" czy też "serwera aplikacyjnego" jest tego objawem.
> Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt.
Może, ale wcale nie tam odniosła sukces. Głównym targetem Javy stał się serwer.
No i, co ciekawe, Android.
Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym
"aplikacją" w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to
raczej przykład na to, że Javie nie udało się tego zrobić.
Dlatego nie widzę Javy w tym samym miejscu, co Qt.
> Minecraft mógł powstać w Javie
A pomogłoby mu to w czymś? A może by zaszkodziło?
--
Maciej Sobczak * http://www.inspirel.com
-
40. Data: 2020-07-11 22:08:16
Temat: Re: C is number one (znowu)
Od: g...@g...com
W dniu sobota, 11 lipca 2020 20:45:20 UTC+2 użytkownik Maciej Sobczak napisał:
> > > Tyle że nie wypada o tym mówić. Nie ma
> > > arytmetyki wskaźników.
> >
> > W arytmetyce wskaźników i operacji dereferencji oraz pobrania adresu obiektu
zawiera się istota tego, czym jest wskaźnik.
>
> Nie. Arytmetyka wskaźników to cecha właściwie wyłącznie języków asemblerowych, do
których C, właśnie z powodu tej arytmetyki, można zaliczyć. Właściwie powód dla
którego C ma arytmetykę wskaźników i nie ma prawdziwych tablic, jest ten sam.
>
> Przykładowo, Ada, która jak najbardziej jest językiem systemowym i która powstała z
myślą o systemach wbudowanych, arytmetyki wskaźników nie ma. Tzn. można się naszarpać
z rzutowaniem do typu arytmetycznego, na którym od biedy da się coś dodać albo odjąć,
ale konieczność tego szarpania to właśnie przejaw braku arytmetyki na właściwych
wskaźnikach.
O, właśnie w owym "można się naszarpać" jest pies pogrzebany.
W Adzie można się naszarpać. W Javie nie można.
Java ma inny model pamięci niż C. W C pamięć to ciąg bajtów, a w Javie to zbiór
obiektów.
> Zauważ też, że w C++ istnieje wiele standardowych typów pełniących funkcję
wskaźnika (smart pointery) i one też nie mają arytmetyki - w dodatku nie przez
przeoczenie, tylko celowo.
Powoływanie się na "smart pointery" w dyskusji o wskaźnikach to trochę jak rozważanie
zakupu roweru stacjonarnego na wycieczki rowerowe albo do poruszania się po mieście.
Niby też rower, ale jednak nie do końca.
Smart pointerom bliżej koncepcyjnie do referencji, niż do wskaźników.
> > Nie do końca. Target Javy to byli programiści aplikacyjni C++.
>
> Ciekawe, że pojęcie "aplikacji" się rozmyło w świecie internetu. Pojęcie "serwera
aplikacji" czy też "serwera aplikacyjnego" jest tego objawem.
>
> > Java może konkurować z C++ np. tam, gdzie się pisze programy w Qt.
>
> Może, ale wcale nie tam odniosła sukces. Głównym targetem Javy stał się serwer.
> No i, co ciekawe, Android.
> Ja nie kojarzę obecnie żadnego sensownego programu w Javie, który nazwałbym
"aplikacją" w sensie aplikacji desktop. Eclipse, choć się narzuca jako kandydat, to
raczej przykład na to, że Javie nie udało się tego zrobić.
> Dlatego nie widzę Javy w tym samym miejscu, co Qt.
Zgadzam się. Ale wydaje mi się, że taki był pierwotny plan.
Wydaje mi się, że trochę C# rywalizuje, albo przynajmniej jeszcze parę lat temu
rywalizował z Qt przy tworzeniu aplikacji okienkowych (tam było coś takiego, jak
Windows Forms, zastąpione później chyba trochę przeinżynierowanym "Windows
Presentation Foundation")
> > Minecraft mógł powstać w Javie
>
> A pomogłoby mu to w czymś? A może by zaszkodziło?
Tzn. ściśle rzecz biorąc, to Minecraft powstał w Javie, więc chyba pomogło mu to w
ogóle powstać.
(Nie zaszkodziło mu to też potem w byciu przepisanym na C++)