Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?  (Przeczytany 17070 razy)

wojtekm

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #15 dnia: 2005-07-07, 16:12:46 »
2005-07-06 18:39:06 kuba_g napisał:
 
 > I jeszecze jedna rada , nie ucz sie C bo to juz stary , nieuaktualniany język wez sie za C++
 > (jak umiesz C++ to umiesz C ) ;)

Nie zgadzam się. C jest wciąż na topie i do sprawnego \\"hackingu\\" niezbędy - nie widziałem jeszcze exploita w C++ ;). C++ to nadzbiór C (nie do końca, bo są jednak pewne różnice, zwłaszcza w przypadku najnowszego standardu C99), który warto poznać, ale nie jest on ani złotym środkiem na wszystko, ani nie jest najodpowiedniejszy do każdego zadania (chodzi mi głównie o OO).
Dodakowo nie zapominaj, że cały Linux/Unix i jego otoczka narzędziowa to czyste C. Chcesz grzebać w kenelu - zapomij o C++.
I na koniec, większość programów w C jest mniej ociężałych niż ich odpowiedniki w C++ (choć to duży ogólnik, bo to zależy od konkretnej implementacji i umiejętności programisty, niemniej jednak taką tendencję można zauważyć).

Wojtek

kuba_g

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #16 dnia: 2005-07-07, 18:59:59 »
2005-07-07 16:12:46 wojtekm napisał:

> 2005-07-06 18:39:06 kuba_g napisał:
 >  
 >  > I jeszecze jedna rada , nie ucz sie C bo to juz stary , nieuaktualniany język wez sie za
 > C++
 >  > (jak umiesz C++ to umiesz C ) ;)
 >
 > Nie zgadzam się. C jest wciąż na topie i do sprawnego \\"hackingu\\" niezbędy - nie
 > widziałem jeszcze exploita w C++ ;). C++ to nadzbiór C (nie do końca, bo są jednak pewne
 > różnice, zwłaszcza w przypadku najnowszego standardu C99), który warto poznać, ale nie jest on
 > ani złotym środkiem na wszystko, ani nie jest najodpowiedniejszy do każdego zadania (chodzi mi
 > głównie o OO).
 > Dodakowo nie zapominaj, że cały Linux/Unix i jego otoczka narzędziowa to czyste C. Chcesz
 > grzebać w kenelu - zapomij o C++.
 > I na koniec, większość programów w C jest mniej ociężałych niż ich odpowiedniki w C++ (choć to
 > duży ogólnik, bo to zależy od konkretnej implementacji i umiejętności programisty, niemniej
 > jednak taką tendencję można zauważyć).
 >
 > Wojtek


Róznice są ale:
- C juz nie jest uaktualniany
-C++ powstał na bazie C więc jest z nim dość kompatybilny
-na wstępie wielu ksiązek autorzy piszą ze chcieli napisac  ksązke o C ale niestety to juz stary język więc zdecydowali sie na C++

wojtekm

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #17 dnia: 2005-07-07, 19:25:13 »
2005-07-07 18:59:59 kuba_g napisał:

 > Róznice są ale:
 > - C juz nie jest uaktualniany

Mylisz się, ostatnia aktualizacja to stanadrd C99. BTW dość mocno stosowany w kernelu Linuksa i w pewnych aspektach niekompatybilny z C++.

 > -na wstępie wielu ksiązek autorzy piszą ze chcieli napisac  ksązke o C ale niestety to juz
 > stary język więc zdecydowali sie na C++

Nie spotkałem się z taką argumentacją nigdy, a mam za sobą trochę literatury fachowej n.t. C/C++.
Natomiast polecam Ci bardzo ciekawe opracowanie, jeśli znasz angielski: http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/tools/java/misc/ACritiqueOfC++.pdf

C++ jest \\"trendy\\" niewiątpliwie, ale to jeszcze o niczym nie świadczy, a ze swojej praktyki widzę, że osoby które od razu rzuciły się w programowanie w C++ bez znajomości podstaw programowania w C mają spore problemy z prawidłowym zrozumieniem/zastosowaniem pewnych jego aspektów (np. strach przed wskaźnikami i nadużywanie referencji) i generalnie efektywnym programowaniem strukturalnym, które występuje także w programowaniu obiektowym, tylko, że się tak wyrażę, w mikroskali. Niemniej jednak to właśnie w tej mikroskali często jest zaszyta cała tajemnica optymalizacji i efektywności...

Wojtek

Maciek_Rutecki

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #18 dnia: 2005-07-07, 19:32:51 »
2005-07-07 18:59:59 kuba_g napisał:
 
 >
 > Róznice są ale:
 > - C juz nie jest uaktualniany
 > -C++ powstał na bazie C więc jest z nim dość kompatybilny
 > -na wstępie wielu ksiązek autorzy piszą ze chcieli napisac  ksązke o C ale niestety to juz
 > stary język więc zdecydowali sie na C++

Skad masz takie rewelacje?!

kuba_g

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #19 dnia: 2005-07-07, 19:53:04 »
Symfonia C++ , wg mnie (i nie tylko) bardzo dobra ksiązka, jest tam zdanie mówące , stwierdzające ze C juz jest dość starym językiem

Maciek_Rutecki

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #20 dnia: 2005-07-07, 20:01:53 »
2005-07-07 19:53:04 kuba_g napisał:

> Symfonia C++ , wg mnie (i nie tylko) bardzo dobra ksiązka, jest tam zdanie mówące ,
 > stwierdzające ze C juz jest dość starym językiem

A Symfonia.... to wszystko wyjaśnia...

Taka rada, ponoć jądro Linuksa jest dosyć nowoczesne, a nie zawiera C++, przejrzyj sobie jego kod źródłowy, zobaczysz ile można z tego starego C wycisnąć :-). Polecam również poczytanie \\"do poduszki\\" źródeł któregoś z *BSD. Wtedy zastanowisz się nad pisaniem takich rewelacji.

Fakt faktem, że sam używam C++ do pisania programów, ale staram się pisać głównie w C, gdyż można dzieki temu (programowaniu strukturalnemu) uzyskać bardzo zadowalające efekty (głównie chodzi o optymalizację i czytelność kodu).

Ostatnio moda na programowanie obiektowe staje się pewną przesadą, jest wygodne, ale w określonych zastosowaniach.

Z mojej strony EOT

--
Maciek

kuba_g

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #21 dnia: 2005-07-07, 20:28:59 »
> A Symfonia.... to wszystko wyjaśnia...
 >
 > Taka rada, ponoć jądro Linuksa jest dosyć nowoczesne, a nie zawiera C++, przejrzyj sobie jego
 > kod źródłowy, zobaczysz ile można z tego starego C wycisnąć :-). Polecam również poczytanie
 > \\"do poduszki\\" źródeł któregoś z *BSD. Wtedy zastanowisz się nad pisaniem takich
 > rewelacji.

Zgadazm sie z C mozna bardzo duzo wycisnąc, ale stratą czasu jet uczenie sie C a pozniej C++ kiedy mozna załatwic to w krótszy sposob (pomijając pewne rozbierznosci pomiędzy językami których samamu mozna sie douczyc)
 
 > Fakt faktem, że sam używam C++ do pisania programów, ale staram się pisać głównie w C, gdyż
 > można dzieki temu (programowaniu strukturalnemu) uzyskać bardzo zadowalające efekty (głównie
 > chodzi o optymalizację i czytelność kodu).
 >
 > Ostatnio moda na programowanie obiektowe staje się pewną przesadą, jest wygodne, ale w
 > określonych zastosowaniach.
 >
 > Z mojej strony EOT
 >
 > --
 > Maciek

Chodzi mi o to ze C jest juz starym językiem, nie uwazam ze bezuzytecznym, ale nie jest juz tak rozwijany jak C++ który jest niejako \\"następcą\\"

pozdrawiam Kuba :)

wojtekm

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #22 dnia: 2005-07-07, 22:44:16 »
2005-07-07 20:28:59 kuba_g napisał:

  > Zgadazm sie z C mozna bardzo duzo wycisnąc, ale stratą czasu jet uczenie sie C a pozniej C++
 > kiedy mozna załatwic to w krótszy sposob (pomijając pewne rozbierznosci pomiędzy językami
 > których samamu mozna sie douczyc)

Tu nie chodzi tylko o naukę. Tu chodzi o sposób programowania. Nikt, kto uczy się C++ nie będzie tego robił aby potem pisać programy strukturalne w czystym C.
Otóż twierdzę, że nie można nauczyć się dobrze programować znając tylko STL i obiektowy sposób myślenia. Zaryzykował bym nawet twierdzenie, że ludzie którzy znają tylko to podejście mają poważne problemy z pisaniem efektywnego i optymalnego kodu, bo często do rzeczy trywialnych od razu ładują całą machinerię obiektową w postaci funkcji wirtualnych, przeciążonych operatorów i dziwnych hierarchii klas, które nie dość że gmatwają cały kod to jeszcze generują gigantyczną ilość kodu wynikowego, który ledwo chodzi. Nawet nie wspomnę o debugowaniu takiego kodu później... Generalnie w C++ czycha na młodego adepta sztuki programistycznej duuużo więcej pułapek niż w czystym C.
Dla tego uważam, że warunkiem dobrego poznania C++ i w ogóle programowania systemowego jest dobre poznanie C.

 > Chodzi mi o to ze C jest juz starym językiem, nie uwazam ze bezuzytecznym, ale nie jest juz tak
 > rozwijany jak C++ który jest niejako \\"następcą\\"

Widzę, że powtarzasz to zdaine jak mantrę, choć już 2 razy pisałem Ci, że tak nie jest. C++ nie jest następcą C, bo paradygmat obiektowy nie jest następcą strukturalnego.
Sam Bjarne Stroustrup (twórca C++) w swojej książce \\"Język C++\\" pisze wyraźnie na wstępie:
\\"Dobry program w C++ nie jest dobrym programem w C i na odwrót\\".
To są dwa różne podejścia do sprawy i warto być tego świadomym. Każdy ma swoje wady i zalety ale to nie znaczy, że jedno jest obiektywnie lepsze od drugiego. Wybór zależy od zastosowania i nie spodziewaj się, że twórcy np. Linuksa kiedykolwiek przejdą na C++ (było już wiele debat na ten temat - C pozostał jedynym obowiązującym rozwiązaniem, głównie ze względu na na ilość komplikacji jakie wprowadza ze sobą C++ i jego nowe możliwości, które są _niepotrzebne_ deweloperom, oraz możliwych trudności w utrzymaniu kodu wynikających z tego faktu; uznano po prostu, że po przejsciu na C++ jakość kodu by dramatycznie spadła - to daje do myślenia).
Na koniec, taka mała uwaga, na dzień dzisiejszy C jest \\"nowszy\\" od C++ gdyż standard C99 pochodzi, jak nietrudno się domyślić, z roku 1999, natomiast oficjalny standard C++ z roku 1998, polecam:
http://en.wikipedia.org/wiki/C_Plus_Plus
http://en.wikipedia.org/wiki/C_programming_language

Obydwa te języki są \\"stare\\" w porównaniu do np. do Pythona, tylko że to o niczym nie świadczy, bo tak naprawdę mimo swego wieku ich wartość nie uległa dewaluacji i tak naprawdę tylko to się liczy.

 > pozdrawiam Kuba :)

pozdrawiam Wojtek :)

wojtekm

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #23 dnia: 2005-07-07, 22:51:00 »
2005-07-07 22:44:16 wojtekm napisał:

 > Na koniec, taka mała uwaga, na dzień dzisiejszy C jest \\"nowszy\\" od C++ gdyż standard
 > C99 pochodzi, jak nietrudno się domyślić, z roku 1999, natomiast oficjalny standard C++ z roku
 > 1998

O przepraszam - tu się rozpędziłem, ostatina aktualizacja standardu C++ pochodzi z roku 2003. C na razie aktualizacji nie potrzebował ;).

Wojtek

oskar-25

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #24 dnia: 2005-07-08, 08:45:53 »
Nie wiem czy moja rada będzie miała poparcie lecz ja prawdziwą zabawę z linuxem zacząłem od Debiana (nielicząc wielu wersji livecd) ogólnie uznawanego za trudny ale tej zabawy nie zapomnę do końca życia a windowsa juz dawno nie potrzebuje :)

oskar-25

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #25 dnia: 2005-07-08, 08:50:32 »
Dodam że cała zabawa z Debianem polega na dodaniu kilku adresów do sources.list odpaleniu Synaptica i instalowaniu co dusza zapragnie dla informacji podam ze mój system to Debian Sarge na kernelu 2.6.8-2-386

chmooreck

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #26 dnia: 2005-07-08, 09:52:40 »
2005-07-07 19:53:04 kuba_g napisał:

> Symfonia C++ , wg mnie (i nie tylko) bardzo dobra ksiązka, jest tam zdanie mówące ,
 > stwierdzające ze C juz jest dość starym językiem

troche wczesniej kuba_g napisał:
\\"
 -na wstępie wielu ksiązek autorzy piszą ze chcieli  napisac ksązke o C ale niestety to juz stary język więc zdecydowali sie na C++
\\"

od kiedy jedna pozycja to wiele ksiazek ?


A poza tym (moim zdaniem):
1. jak ktos sie chce nauczyc C++ - niech sie do niego ograniczy :-P

2. jak ktos sie chce nauczyc programowac, niech zacznie od programowania strukturalnego (np. C, Pascal) a potem sie bierze za obiektowke

3. Wybrany jezyk ma marginalne znaczenie - duzo bardziej liczy sie umiejetnosc programowania...

oczywiscie to tylko moje prywatne zdanie :-)

xavery

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #27 dnia: 2005-07-08, 11:14:32 »
> > Symfonia C++ , wg mnie (i nie tylko) bardzo dobra ksiązka, jest tam zdanie mówące ,
 >  > stwierdzające ze C juz jest dość starym językiem

C jest starym jezykiem co nie znaczy ze złym. Właśnie jego moc i zalety polegają m.in. na tym, że funkcjonuje od kilkudziesięciu lat i wciąż jest wykorzystywany i wciąż się rozwija. Zresztą sama Symfonia jest książką o dośc leciwej treści a idąc dalej można powiedzieć, że Linux jako kontunuator linii Uniksów jest starym systemem:) Argumentu o \\"starości\\" nie można stawiać i przyjmować tak bezkrytycznie.

 >
 > od kiedy jedna pozycja to wiele ksiazek ?

Od kiedy przeczytało się jedną książkę wiele razy:)
To taki joke...

 > A poza tym (moim zdaniem):
 > 1. jak ktos sie chce nauczyc C++ - niech sie do niego ograniczy :-P

Racja. Tylko niech nie mowi o sobie per \\"programista\\"

 > 2. jak ktos sie chce nauczyc programowac, niech zacznie od programowania strukturalnego (np. C,
 > Pascal) a potem sie bierze za obiektowke

Racja. I jak będzie wiedział jaka jest różnica między wskaźnikiem a referencją lub biblioteką stdio a iostream, niech się wypowiada.

 > 3. Wybrany jezyk ma marginalne znaczenie - duzo bardziej liczy sie umiejetnosc
 > programowania...
 >
 > oczywiscie to tylko moje prywatne zdanie :-)

Moje także. I myślę, że jeszcze co najmniej paru innych ludzi.

kuba_g

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #28 dnia: 2005-07-08, 12:15:53 »
t starym jezykiem co nie znaczy ze złym. Właśnie jego moc i zalety polegają m.in. na tym,
 > że funkcjonuje od kilkudziesięciu lat i wciąż jest wykorzystywany i wciąż się rozwija. Zresztą
 > sama Symfonia jest książką o dośc leciwej treści a idąc dalej można powiedzieć, że Linux jako
 > kontunuator linii Uniksów jest starym systemem:) Argumentu o \\"starości\\" nie można
 > stawiać i przyjmować tak bezkrytycznie.


mówiłem juz ze C jest uzytecznym językiem

Jessze jedna ksiązka :

C++ dla kazdego

Od siebie dodam tyle , lepiej sie najpiew nauczyc C++ a pozniej C juz nie bede tłumaczył czemu to moje zdanie :)

Maciek_Rutecki

  • Gość
Co decyduje o pierwszeństwie: usr/bin, a /usr/local/bin ?
« Odpowiedź #29 dnia: 2005-07-08, 12:36:50 »
2005-07-08 12:15:53 kuba_g napisał:

 > Od siebie dodam tyle , lepiej sie najpiew nauczyc C++ a pozniej C juz nie bede tłumaczył czemu
 > to moje zdanie :)

Najpier C++ a potem C...

Pożniej pojawiają się jakieś programy, które mają tysiące referencji, zamiast pożądnie zrobionych wskaźników oraz dziwne wycieki pamięci.

Nie zastanawia Ciebie fakt, że tylko Ty upierasz przy swoim stanowisku, a reszcie Twoje argumenty wydają się cokolwiek zaskakujące? :-)

--
Maciek

PS. Nie uważam się za jakiegoś super programistę. Fakt jest taki, że faktycznie lubie C, zaś C++ stosuje tylko w określonych zastosowaniach. Zaś hacking kernela skończył się zaledwie na zrobieniu szkieletu modułu do jądra (który jedynie wyświetlał komunikat po jego załadowaniu i po wyrzuceniu).