-
11. Data: 2020-01-24 14:22:56
Temat: Re: Programming Language of the Year 2019
Od: Borneq <b...@a...hidden.pl>
On 1/24/20 8:19 AM, Maciej Sobczak wrote:
>> Wadą TIOBE jest rozdzielanie C/C++/C# - choć należałoby sumować
>> ich popularność jako dialektów jednego języka.
>
> Oj, nie wiem. Związek między C i C# jest taki jak między polskim i łacińskim. Na
oko wygląda podobnie, nawet niektóre wyrazy da się użyć tu i tam.
>
> C i C++ mają do siebie bliżej, z racji współdzielonych narzędzi i platform
docelowych. Ale C#? Nie, to jest odrębny język.
>
C# jest cąłkiem różny od C, już blizej mu do Javy:
((C C++) Rust) (Java C#)
-
12. Data: 2020-01-24 15:04:22
Temat: Re: Programming Language of the Year 2019
Od: "M.M." <m...@g...com>
On Friday, January 24, 2020 at 8:19:44 AM UTC+1, Maciej Sobczak wrote:
> > Wadą TIOBE jest rozdzielanie C/C++/C# - choć należałoby sumować
> > ich popularność jako dialektów jednego języka.
>
> Oj, nie wiem. Związek między C i C# jest taki jak między polskim i łacińskim. Na
oko wygląda podobnie, nawet niektóre wyrazy da się użyć tu i tam.
>
> C i C++ mają do siebie bliżej, z racji współdzielonych narzędzi i platform
docelowych. Ale C#? Nie, to jest odrębny język.
>
Prawdy są dwie, po pierwsze tak jak napisałeś, C i C++ to całkiem inne
języki, po drugie C jest (nie licząc paru drobiazgów) w całości kompilowany
przez kompilator języka C++. A C# i Java to chyba tylko wizualnie są
podobne do C++, jakby nie znak dolara, to i PHP byłoby (tylko) wizualnie
podobne do C++.
Pozdrawiam
-
13. Data: 2020-01-24 16:11:40
Temat: Re: Programming Language of the Year 2019
Od: g...@g...com
W dniu piątek, 24 stycznia 2020 15:43:15 UTC+1 użytkownik slawek napisał:
>
> 1. Kompilator C++ kompiluje C.
Ściśle rzecz biorąc, kompilator C++ kompiluje C++.
https://www.quora.com/Is-there-any-C-code-that-isn-t
-valid-C-code/answer/Joe-Zbiciak
> Da się pisać w C++ tak, że skompiluje to się jako C.
Nawet w JavaScripcie da się tak pisać. Np. takie coś:
function() {
return 5;
}
> Jeżeli np. zobaczysz taki fragment jak
> *ptr++ to równie dobrze może to być C jak C++.
Jeżeli np. zobaczysz taki fragment jak 2+2 albo f(x) to równie dobrze może to być
FORTRAN albo Pascal albo Python albo Lua.
Więc może można by w ogóle spłaszczyć to całe TIOBE.
> Preprocesor jest
> identyczny.
https://www.youtube.com/watch?v=1ClCpfeIELw
> 2. Różnica pomiędzy C a C# jest - tak samo jak pomiędzy Pascalem a
> Delphi. Zwykle "delfiarze" mówią że Delphi to Pascal.
Pascal to język programowania, a Delphi to środowisko programistyczne.
C# to nie jest środowisko programistyczne.
-
14. Data: 2020-01-24 16:23:11
Temat: Re: Programming Language of the Year 2019
Od: Roman Tyczka <n...@b...no>
On Fri, 24 Jan 2020 15:43:11 +0100 (GMT+01:00), slawek wrote:
> 2. Różnica pomiędzy C a C# jest - tak samo jak pomiędzy Pascalem a
> Delphi.
Tak nawiasem mówiąc to C# powstał na bazie doświadczeń z Delphi tylko
składnię dostał z rodziny C.
> Zwykle "delfiarze" mówią że Delphi to Pascal.
Nie, to Ty uparcie nazywasz Delphi pascalem. "Delfiarze" nazywają ten język
Delphi lub, gdy gadają z kimś spoza środowiska, Object Pascal.
--
pozdrawiam
Roman Tyczka
-
15. Data: 2020-01-24 21:01:51
Temat: Re: Programming Language of the Year 2019
Od: Maciej Sobczak <s...@g...com>
> C i C++ to też dwa zupełnie odrębne języki.
Niezupełnie. Standard języka C++ w pierwszym rozdziale (Scope) stwierdza, że to, co
oferuje C++, to jest "in addition" do tego, co oferuje język C. Podobnie w rozdziale
20, o bibliotece standardowej: "The C++standard library also makes available the
facilities of the C standard library".
To jest wystarczająco czytelna i oficjalna deklaracja. Raczej nie da się z tym
przepychać tezy, że to są "zupełnie odrębne języki".
Natomiast, co ciekawe, społeczności używające tych języków są wobec siebie bardziej
odrębne (w sensie wzajemnej pogardy), niż te języki.
--
Maciej Sobczak * http://www.inspirel.com
-
16. Data: 2020-01-25 13:26:00
Temat: Re: Programming Language of the Year 2019
Od: "M.M." <m...@g...com>
On Friday, January 24, 2020 at 4:11:41 PM UTC+1, g...@g...com wrote:
> W dniu piątek, 24 stycznia 2020 15:43:15 UTC+1 użytkownik slawek napisał:
>
> >
> > 1. Kompilator C++ kompiluje C.
>
> Ściśle rzecz biorąc, kompilator C++ kompiluje C++.
>
> https://www.quora.com/Is-there-any-C-code-that-isn-t
-valid-C-code/answer/Joe-Zbiciak
>
> > Da się pisać w C++ tak, że skompiluje to się jako C.
>
> Nawet w JavaScripcie da się tak pisać. Np. takie coś:
>
> function() {
> return 5;
> }
>
> > Jeżeli np. zobaczysz taki fragment jak
> > *ptr++ to równie dobrze może to być C jak C++.
>
> Jeżeli np. zobaczysz taki fragment jak 2+2 albo f(x) to równie dobrze może to być
FORTRAN albo Pascal albo Python albo Lua.
>
> Więc może można by w ogóle spłaszczyć to całe TIOBE.
Przepraszam, ja tak ogólnie napomknąłem o podobieństwach 'języków
klamerkowych', odleciałem z kontekstu TIOBE. Nawet nie wiem co to
jest TIOBE, widzę w pośpiechu, że jakieś rankingi języków.
Pozdrawiam
-
17. Data: 2020-01-25 22:01:12
Temat: Re: Programming Language of the Year 2019
Od: Wojciech Muła <w...@g...com>
On Saturday, January 25, 2020 at 8:21:40 PM UTC+1, slawek wrote:
> g...@g...com Wrote in message:
> > Ściśle rzecz biorąc, kompilator C++ kompiluje C++.
>
> Tak myślisz? Nie. Kompilator C++ musi rozpoznać extern "C"
extern "string" określa jedynie "language linkage",
kod jest cały czas kompilowany jako C++:
extern "C" void foo() {
raise "That's the C++ code";
}
> i musi kompilować C jeżeli kod źródłowy będzie w C.
Gdzie to jest w standardzie C++?
w.
-
18. Data: 2020-01-25 22:21:04
Temat: Re: Programming Language of the Year 2019
Od: Wojciech Muła <w...@g...com>
On Friday, January 24, 2020 at 9:01:53 PM UTC+1, Maciej Sobczak wrote:
> > C i C++ to też dwa zupełnie odrębne języki.
>
> Niezupełnie. Standard języka C++ w pierwszym rozdziale (Scope) stwierdza, że to, co
oferuje C++, to jest "in addition" do tego, co oferuje język C.
>
> Podobnie w rozdziale 20, o bibliotece standardowej: "The C++standard library also
makes available the facilities of the standard library".
>
> To jest wystarczająco czytelna i oficjalna deklaracja. Raczej nie da się z tym
przepychać tezy, że to są "zupełnie odrębne języki".
"Zupełnie" to faktycznie za mocne.
Tyle że te dodatkowe rzeczy w stosunku do C stanowią 95%
języka C++ i są zupełnie niekompatybilne z protoplastą.
A sam C powoli rozjeżdża się z C++, np. poprzez zmianę
semantyki 'auto' w C++11, usunięcie słowa 'register' w
C++17, czy planowane zmiany w 'volatile' w C++20.
w.
-
19. Data: 2020-01-26 15:31:07
Temat: Re: Programming Language of the Year 2019
Od: Borneq <b...@a...hidden.pl>
On 1/26/20 12:38 PM, slawek wrote:
> Z dwojga złego wolę C# niż nie-wiadomo-jak-ewolujący C++.
C# jest bardzo "fajny", łatwo się w nim pisze, od razu dostarczona jest
biblioteka GUI i bardzo dobrze wygląda współpraca z debuggerem.
Ale ma wady:
Potrzebuje dodatkowych bibliotek, róznych wersji np. NET4.6. Są
trudności z przenośnością, w C/C++ są bardziej przenoścne wersje
Windows<->Linux, a nawet skompilowane Exe pójdzie pod WinE. Natomiast C#
przywiązuje jeszcze bardziej do Windows.
-
20. Data: 2020-01-26 15:33:09
Temat: Re: Programming Language of the Year 2019
Od: Borneq <b...@a...hidden.pl>
On 1/26/20 12:53 PM, slawek wrote:
> Owszem, jednak jeżeli to "linkage" odnosi się do czegoś co jest w
> C (np. pliku ncurses.c), to aby zrobić program trzeba te coś
> skompilować jako C a nie C++. I tu ciekawostka, o której pewnie
> nie wiedziałeś: zarówno GCC jak MSVS dają sobie z tym radę
> doskonale.
Pliki z rozszerzeniem .c kompilowane są jako C, z .cpp czy .cxx jako
C++. Natomiast extern "C" może być włączone zarówno do C jak i C++,
wtedy gdy włączone do C++, będzie kompilowane jako C++ tylko nie będzie
name manglingu.