Pocz

Potrzebujesz pomocy z C, C++, perl, python, itp.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

legion, co Ty tak ludzi atakujesz? mlyczek już zwracał Ci uwagę, ja teraz także zwracam. To jest forum, nie burdel. Co z tego, że inni podali zły kod, etc.? Ok, popraw ich, ale szacunku mój drogi, szacunku. Jeszcze jeden post i ostrzeżenie!
Awatar użytkownika
draco
Beginner
Posty: 258
Rejestracja: 03 grudnia 2006, 15:23
Lokalizacja: Inna rzeczywistość

Post autor: draco »

Tyle, że legion ma troche racji :>
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Zgadzam się, ma rację jeżeli chodzi o C++, ale trochę "nieładnie" się wypowiada, co na doświadczonego użytkownika nie przystaje według mnie.

Nie chodzi mi o to, że poprawia kod - bardzo dobrze, że poprawia, ale np: "gównianymi poradami... " - no przepraszam, to jest forum, każdy pomaga na ile umie. A jak kolega zobaczył błąd gdzieś, to można przecież grzecznie zwrócić uwagę :)

Pozdrawiam.
mlyczek
Junior Member
Posty: 979
Rejestracja: 02 sierpnia 2006, 19:17

Post autor: mlyczek »

legion pisze:to jest błąd... nigdy nie robi się using namespace std, jak już to specyfikuje się używane elementy
Niekoniecznie. Skoro jest możliwość zastosowania tego i ISO tego nie zabrania to czemu to jest błąd. M. in. w "Thinking in C++" jest to używane. Poza tym, gdyby to było błędem to nie było by takiej możliwości. Po coś to zostało zrobione, więc moim zdaniem można z tego korzystać. Oczywiście wszystko zależy od tego co kto preferuje i co używa.
legion pisze:to są konstrukcje rodem z jakiegoś bejzika na komodorkę albo kulawego C.
C++ jest następcą C, wywodzi się z niego, więc wiele poleceń jest "rodem z" C. Debian użył przecież rzutowania, które jest dozwolone, ale nie zalecane. Poza tym Debian napisał:
Debian pisze:na kolanie pisane rozwiazanie, moze malo eleganckie ale na szybkiego dziala
więc zaznaczył, że rozwiązanie jest pisane na szybko i może nie być eleganckie.
legion
Posty: 23
Rejestracja: 18 lutego 2007, 01:40

Post autor: legion »

Kaka' pisze:legion, co Ty tak ludzi atakujesz? mlyczek już zwracał Ci uwagę, ja teraz także zwracam. To jest forum, nie burdel. Co z tego, że inni podali zły kod, etc.? Ok, popraw ich, ale szacunku mój drogi, szacunku. Jeszcze jeden post i ostrzeżenie!
Nie atakuję ludzi tylko 'programistów' którym się wydaje że potrafią. Wiem że to jest forum dlatego denerwują mnie posty ludzi którzy potrafią niewiele więcej (często mniej) od pytającego wprowadzające go w złudny stan naprowadzenia na dobrą drogę.

Kącik 'programowanie' ma być o programowaniu a nie o poprawianiu kodu początkujących przez jeszcze bardziej początkujących - ci pierwsi na tym tracą, ci drudzy zwiększają poziom swojego ego.

Kaka - zastanów się kogo straszysz. Nie rozpoczynam pustych pyskówek, wszystkie moje posty są poparte merytoryką. Rzeczonej merytoryki nie widzę w postach poprzednich stąd moja frustracja.

[ Dodano: 2007-06-16, 00:19 ]
mlyczek pisze:
legion pisze:to jest błąd... nigdy nie robi się using namespace std, jak już to specyfikuje się używane elementy
Niekoniecznie. Skoro jest możliwość zastosowania tego i ISO tego nie zabrania to czemu to jest błąd. M. in. w "Thinking in C++" jest to używane. Poza tym, gdyby to było błędem to nie było by takiej możliwości. Po coś to zostało zrobione, więc moim zdaniem można z tego korzystać. Oczywiście wszystko zależy od tego co kto preferuje i co używa.
Przeczytaj mi to jeszcze raz... ISO nie definiuje standardów kodowania (sic!) tylko syntaktykę/semantykę języka. Jest to używane często dla wygody, jednak nie należy do dobrych praktyk.
Argument że 'po coś to jest' pominę milczeniem dla Twojego dobra...
mlyczek pisze:
legion pisze:to są konstrukcje rodem z jakiegoś bejzika na komodorkę albo kulawego C.
C++ jest następcą C, wywodzi się z niego, więc wiele poleceń jest "rodem z" C. Debian użył przecież rzutowania, które jest dozwolone, ale nie zalecane.
Raz kolejny powtarzam że właśnie dlatego się zdenerwowałem - tutaj piszą ludzie którzy nie mają pojęcia o C++. Nie chodzi o rzutowanie (?) - nie wiem dlaczego miałoby być zalecane lub nie, w każdym razie jest poprawne. chodziło o niezastosowanie std::string. Po tym małym szczególe można poznać kto zna się na C++ a kto na C z klasami. Tym drugim serdecznie dziękujemy.
mlyczek pisze:Poza tym Debian napisał:
Debian pisze:na kolanie pisane rozwiazanie, moze malo eleganckie ale na szybkiego dziala
więc zaznaczył, że rozwiązanie jest pisane na szybko i może nie być eleganckie.
Właśnie. Napisał że się uczy (oczekuje kodu dobrego, edukacyjnego a nie syfu zrobionego na kolanie bo 'za 2h zaliczenie'). Bo cała ta śmieszna wojna jest właśnie dla dobra tych którzy chcą się nauczyć a nie dlatego że mam za dużo wolnego czasu.

[ Dodano: 2007-06-16, 00:20 ]
Eh coś mi się dziwnie napisało.
heireann
Posty: 11
Rejestracja: 09 czerwca 2007, 16:06
Lokalizacja: Po³upin / Wroc³aw

Post autor: heireann »

legion pisze: [ Dodano: 2007-06-16, 00:19 ]
mlyczek pisze:
legion pisze:to jest błąd... nigdy nie robi się using namespace std, jak już to specyfikuje się używane elementy
Niekoniecznie. Skoro jest możliwość zastosowania tego i ISO tego nie zabrania to czemu to jest błąd. M. in. w "Thinking in C++" jest to używane. Poza tym, gdyby to było błędem to nie było by takiej możliwości. Po coś to zostało zrobione, więc moim zdaniem można z tego korzystać. Oczywiście wszystko zależy od tego co kto preferuje i co używa.
Chciałabym usłyszeć argument za tym, dlaczego deklarowanie każdej funkcji z osobna w danej przestrzeni nazw jet rzekomo tak bardzo profesjonalne. Osobiście: nie wiem. Jest wiele funkcji, które posiadają skomplikowane i niewygodne w użyciu nazwy - w szczególności, kiedy są częścią bibliotek zaimportowanych "skąśtam", w tym wypadku deklarowanie dla nich przestrzeni nazw jest jak najbardziej słuszne. Jak dla mnie używanie operatorów zasięgu jest kiepskim rozwiązaniem - imho program staje sie po prostu zapaćkany... w szczególności kiedy ma 1000 linijek i dla mnie przestaje być po prostu przejrzysty. Jak programujemy? ¯eby było nam wygodnie i oczywiście zgodnie z poprawnością składniową i merytoryczną używanego języka. Standardy - nie zawsze pomagają. Myślę, że wykorzystywanie dyrektywy using i importowanie przestrzeni nazw do najbliższego zasięgu jest jak najbardziej w porządku i zgodne ze składnią.
legion
Posty: 23
Rejestracja: 18 lutego 2007, 01:40

Post autor: legion »

heireann pisze:
legion pisze: [ Dodano: 2007-06-16, 00:19 ]
mlyczek pisze: Niekoniecznie. Skoro jest możliwość zastosowania tego i ISO tego nie zabrania to czemu to jest błąd. M. in. w "Thinking in C++" jest to używane. Poza tym, gdyby to było błędem to nie było by takiej możliwości. Po coś to zostało zrobione, więc moim zdaniem można z tego korzystać. Oczywiście wszystko zależy od tego co kto preferuje i co używa.
Chciałabym usłyszeć argument za tym, dlaczego deklarowanie każdej funkcji z osobna w danej przestrzeni nazw jet rzekomo tak bardzo profesjonalne. Osobiście: nie wiem. Jest wiele funkcji, które posiadają skomplikowane i niewygodne w użyciu nazwy - w szczególności, kiedy są częścią bibliotek zaimportowanych "skąśtam", w tym wypadku deklarowanie dla nich przestrzeni nazw jest jak najbardziej słuszne. Jak dla mnie używanie operatorów zasięgu jest kiepskim rozwiązaniem - imho program staje sie po prostu zapaćkany... w szczególności kiedy ma 1000 linijek i dla mnie przestaje być po prostu przejrzysty.
Wypas. 1k linijek... 1k linii to chyba jakiś program na zaliczenie albo na maturę z informatyki.
1. Nic nie pisałem o deklarowaniu (?) funkcji z osobna. BTW. nie wiem jak można deklarować funkcje razem...
2. Funkcje które mają skomplikowane nazwy (?) zostały napisane przez ludzi którzy programować nie potrafią i tyle.
3. By program nie był zapaćkany włacza się używane elementy (using...)
heireann pisze:Jak programujemy? ¯eby było nam wygodnie i oczywiście zgodnie z poprawnością składniową i merytoryczną używanego języka. Standardy - nie zawsze pomagają. Myślę, że wykorzystywanie dyrektywy using i importowanie przestrzeni nazw do najbliższego zasięgu jest jak najbardziej w porządku i zgodne ze składnią.
Na poziomie programowania 4fun albo na maturę z informatyki powyższy tekst jest prawdą, w przeciwnym razie to bzdura.
chyl-o
Junior Member
Posty: 621
Rejestracja: 24 maja 2006, 21:06
Lokalizacja: Lublin

Post autor: chyl-o »

legion pisze:Przestańcie mnie rozśmieszać i mieszać w głowie poczatkującemu gównianymi poradami...
Uważaj na język!
ponton - to jest błąd... nigdy nie robi się using namespace std, jak już to specyfikuje się używane elementy:

Kod: Zaznacz cały

using std::string
using std::map
...
Jeśli tak uważasz to powiedz dlaczego nie używać dyrektywy using namespace? Jeśli używasz tej przestrzeni w całej jednostce to przecież to ułatwia życie i nie jest błędem, do tego nigdy nie spotkałem się z opinią że to jest błąd, a jak masz taką informację popartą wiarygodnym źródłem to podaj to źródło, bo wykrzykiwanie i pyskowanie nie przemawia do mnie i myślę, że do reszty także nie przemówi.
Debian - twojego kodu nawet nie komentuję, weź go lepiej usuń. widać że C++ nie znasz i nigdy nie znałeś:

Kod: Zaznacz cały

char* imie = new char[100]]

to są konstrukcje rodem z jakiegoś bejzika na komodorkę albo kulawego C.[/quote]

Ja nie mówię, że znam nie mówię także że nie znam, ale powinieneś uważać na słowa.

Bardzo dobrym zwyczajem i poprawnie jest wykonywać rzutowanie jawne określone przez standardy C++, w tym przypadku zostało tak wykonane,  w jezyku C dla Twojej wiadomości nie ma czegoś takiego więc Twój argument jest bzdurny.
legion
Posty: 23
Rejestracja: 18 lutego 2007, 01:40

Post autor: legion »

Debian pisze:
legion pisze:Przestańcie mnie rozśmieszać i mieszać w głowie początkującemu gównianymi poradami...
Uważaj na język!
Bo usuniesz mojego posta bez żadnego wytłumaczenia ani nawet przedstawienia się? Takie faszystowskie metody już któryś z was stosował niedawno...
Debian pisze:
ponton - to jest błąd... nigdy nie robi się using namespace std, jak już to specyfikuje się używane elementy:

Kod: Zaznacz cały

using std::string
using std::map
...
Jeśli tak uważasz to powiedz dlaczego nie używać dyrektywy using namespace? Jeśli używasz tej przestrzeni w całej jednostce to przecież to ułatwia życie i nie jest błędem, do tego nigdy nie spotkałem się z opinią że to jest błąd, a jak masz taką informację popartą wiarygodnym źródłem to podaj to źródło, bo wykrzykiwanie i pyskowanie nie przemawia do mnie i myślę, że do reszty także nie przemówi.
using namespace ... włącza całą przestrzeń. o ile używasz większości klas/funkcji z danej przestrzeni jest OK. jednak wiem że nie używasz nawet 5% a o kolizje łatwo...
to czy jest to błąd zależy od sytuacji. nowicjusze na pewno powinni unikać szafowania 'using namespace'. zresztą to samo tyczy się 'import' w javie...
Debian pisze:
Debian - twojego kodu nawet nie komentuję, weź go lepiej usuń. widać że C++ nie znasz i nigdy nie znałeś:

Kod: Zaznacz cały

char* imie = new char[100]]

to są konstrukcje rodem z jakiegoś bejzika na komodorkę albo kulawego C.[/quote]

Ja nie mówię, że znam nie mówię także że nie znam, ale powinieneś uważać na słowa.

Bardzo dobrym zwyczajem i poprawnie jest wykonywać rzutowanie jawne określone przez standardy C++, w tym przypadku zostało tak wykonane, w jezyku C dla Twojej wiadomości nie ma czegoś takiego więc Twój argument jest bzdurny.[/quote]
1. rzutowanie technicznie jest ładne, ale zabawa z tablicą char i późniejsze konwertowanie jej na std::string już nie.
2. nie ucz ojca dzieci robić... dla Twojej wiadomości - cały C był słabo typowany i zabawa z rzutowaniami była podstawą programowania w tym języku. C++ w przeciwieństwie do poprzednika jest silnie typowany (co pozwala wykryć błędy już na etapie kompilacji a nie w runtim) a każde rzutowanie typizację tę niszczy. chyba że generalizujemy coś poprzez (void *) ale to już inna bajka.
velmafia
Member
Posty: 1820
Rejestracja: 01 września 2006, 00:56
Lokalizacja: Las

Post autor: velmafia »

legion pisze:Bo usuniesz mojego posta bez żadnego wytłumaczenia ani nawet przedstawienia się? Takie faszystowskie metody już któryś z was stosował niedawno...
Rad pisze:Hej chłopaki, ja wam powiem jedno - chill out :) . Odnośmy się do siebie z kulturą i szacunkiem, to stanowi siłę tego forum i wyróżnia je spośród innych. Jeżeli ktoś pisze źle - normalnie zwróćmy mu uwagę i pokażmy błąd - dzięki temu i pytający, i odpowiadający się czegoś nauczą. Bo nie sądzę, żeby odpowiedź napisana w "ostrym" tonie cokolwiek zdziałała.
a co do reszty Twojego postu, to nie można było tak od razu? dzięki temu nie było by tej głupiej kłótni bo Twoje uwagi były by od razu poparte argumentami.


a co do tej kłótni, to jeśli chcecie ją kontynuować, to nie na forum, macie do tego inne formy komunikacji (PW, e-mail, gg, jabber, ...)
od tej pory wszystko co będzie związana z tą kłótnią, będzie momentalne usuwane, żeby nie rozwalać forum (to nie będzie cenzura - bo nią się brzydzę).
ODPOWIEDZ