[Ankieta] Preferencje stylu

0

Właśnie tak sobie przeglądam dokumentację Pythona i zobaczyłem tam ciekawy sposób zapisu np. pętelek:
while a<b:
instrukcja

W C wyglądałoby to:
while (a<b)
instrukcja

A w Pascalu:
while a<b do
instrukcja

O ile możecie powiedzieć to w oderwaniu od języka jakiego używacie najczęściej (bo to ma dosyć duży wpływ na preferencje), to który z tych styli najbardziej wam się podoba, wydaje się być najbardziej ekonomiczny itp?

Jeżeli jeszcze jakiś inny styl preferujecie, to chcętnie je zobaczę (miłoby było też wiedzieć gdzie coś takiego jest stosowane 'in the wild').

0

Mi tam sie pascala podoba, w c/php/js denerwuja mnie te nawiasy (nie tylko w while), choc nie jest ergonomiczny to latwy do skumania - czy to plus? Ocencie sami.

0

Liznąłem kilka języków (programowania oczywiście :P ) i doszedłem do wniosku, że np. te {} z c/cpp są bardzo ciekawe i nie mam nic przeciwko wprowadzenia ich do Pascala, niestety w tym języku jest to komentarz :(. Wydaje mi się Dryo, że rozpętłeś kolejną dyskusję z cyklu: "o wyższości świąt Wielkiej Nocy nad świętami Bożego Narodzenia.

0

C bo nawiasy według mnie wprowadzają czytelność do kodu (przy bardziej skomplikowanych warunkach i tak się pewnie pojawią też gdzie indziej). Chociaż, to pewnie też kwestia przyzwyczajenia :P

0

Szkoda że dwóch nie można zaznaczyć... jak się próbuje coś wyjaśnić, to wiadomo że bliższy jest model pascala (tyle że ja warunek zawsze biorę w nawiasy), ale jak coś trzeba szybko napisac to w C idzie lepiej. Oba są dla mnie tak samo czytelne...

0

C bo nawiasy według mnie wprowadzają czytelność do kodu (przy bardziej skomplikowanych warunkach i tak się pewnie pojawią też gdzie indziej).

Nawiasy i czytelnośc ?? Mi zdecydowanie bardziej rzuca sie sie w oczy kod z odpowiednimi wcięciami i pogrubionymi słowami begin, end. Nawiasy jakies takie małe i niepozorne :). Z drugiej strony szybciej wklepać { niż begin. Ale mimo wszystko, choćbym i tak napisał program bardzo szybko to co mi pożniej z jego kodu, jeżeli bede musiał sie bardzo długo doczytywac o co w nim biega. Nie wiem jak ta kwestia wygląda w Pythonie, wiec jak dla mnie - Pascal.

0

Wojny nie bedzie, bo jak sie cos pojawi 'wojennego' to usune :P
Ja chce po prostu poznac preferencje i ew. za i przeciw. Szkoda, ze tutaj juz pojawiaja sie takie stwierdzenia, ze "wprowadzilbym do pascala {". Akurat temat { wcale nie jest tutaj poruszany. Szkoda, ze duza czesc osob z tego forum programuje jedynie w Delphi/Pascalu, wiec obraz bedzie troszke przeklamany. Znacznie lepiej jest, gdy odpowiadaja osoby, ktore probowaly roznych jezykow i najlepiej duzo pisaly, by moc na podstawie wlasnych doswiadczen powiedziec, co jest dla nich lepsze i czym sie kieruja.
Jezeli chodzi o Pythona, to jest tak jak w przykladzie pokazalem. Tam z kolei zamiast begin/end {/} jest stosowane wciecia blokow. Nie mam pojecia jak to sie sprawdza w praktyce, ale akurat chyba tutaj do pytania nie ma wiekszego znaczenia.

0

mnie sie podoba while z pascala bo jest takie "dosłowne" a nie jakieś nawiasy czy inne znaczki.

/* ocenzurowane przez autora tematu */

0

No więc.. ja pisze w Pascal/Delphi, ale na uczelni miałem przez 2 semestry C++ i musiałem trochę kodzik w tymże języku. Powiem tak: C++`sowa struktura podoba mi się pod względem wyglądu - czysta poezja :) .. jednak jeśli mam bardziej skomplikowane warunki, czy też zagnieżdżone instrukcje - wtedy bardziej czytelny (jak dla mnie) staje sie kod pascalowy.

0

Chyba najwiecej pisze w Delphi, ale nie lubie osobiscie stylu typu begin i end, duzo bardziej wole nawiasy z C - mniej zajmuja a optycznie sa dla mnie duzo bardziej "wymowne". Pisanie w Pascalu w czyms typu Notatnik to moim zdaniem lekki masochizm.

Aha i nie cierpie po prostu gdy ktos wykorzystuje ten "atut" jezyka i pomija w prostych instrukcjach nawiasy, dla mnie nawet najmniej skomplikowany warunek musi miec wyrazny poczatek, zakonczenie i wciecie - nigdy tego nie zaluje.

Dwukropek w pythonie myli mi sie zawsze ze switch i case...

0

Ja osobiście pisząc w pascalu i tak wstawiam nawiasy, tak jakbym pisał w c. Niczemu to nie przeszkadza, a uzywając nawiasów nie muszę pamiętać czy '*' będzie wykonane pzed '+' (przesadzam specjalnie :) ).

/* ocenzurowane przez autora tematu */

0

Na codzień piszę w języku o składni podobnej do pascala (Ada) i odpowiada mi ona, choć nie ukrywam, że czasem bolą palce od pisania tych wszystkich słów kluczowych. Składnia Pythona byłaby fajna, gdyby nie to, że bardzo łatwo o niewykrywalny błąd. Wystarczy zrobić jedno wcięcie za mało i kod zamiast wejść pod ifa będzie wykonywany za każdym razem. Czasem nocą kiedy czuję się samotny fantazjuję o języku który używałby

if warunek :
   ...
end if;

;)

0

w pascalu pisałem ok. 7 lat (ostatnio z 3 lata temu)
w Delphi ok. 2 lat (ostatnio z 2 lata temu)
w C/C++/BCB piszę od 4 lat

Czy to odpowiedni staż, aby wyrazić swoją opinię? [green] (oczywiście subiektywną, bo chyba nie ma czegoś takiego, jak opinia obiektywna)

Więc mógłbym tu siedzieć i siedzieć i nie wymyśliłbym ani jednego argumentu, który przemawiałby za przewagą składni Pascala nad C.

Ale w C jest spójność:
słowo_kluczowe_definiujące_wykonywaną_operację (warunek) instrukcje;

a w Pascalu są 2 słówka kluczowe - przy każdej instrukcji inne - dla mnie to totalnie zbędędne. Po grzyba jakieś 'then' skoro wiadomo, że po 'if' mamy warunek a za tym instrukcje :)

Ach mógłbym tu tak długo, ale to nonsens raczej. Ci, co składają pokłony składni Pascala takimi pozostaną a Kuba będzie musiał wycinać posty. :)

Przedstawiłem swój punkt widzenia i proszę z nim nie polemizować, że nie mam racji. Bo nie można się mylić wyrażając swoją opinię :)

0

oczywiście subiektywną, bo chyba nie ma czegoś takiego, jak opinia obiektywna

To też chodzi mi tylko o subiektywne. Wcale też nie chcę, byście się nawzajem przekonywali "co jest lepsze". Po prostu chcę wiedzieć ile osób i dlaczego lubi tak, a nie inaczej.

Ale w C jest spójność:
słowo_kluczowe_definiujące_wykonywaną_operację (warunek) instrukcje;

Szkoda, że zanika przy "while(){}" i "do{}while()" :(
//wyjątek od reguły ;) - M

Małe OT. Trochę tutaj w wątku powycinałem, ale tak dla tych upierających się, że w C nie można pisać tak lub siak, to proponuję przejrzeć możliwości preprocesora w C.

0

Makabrą składni C nie jest brak 'then' a raczej takie rzeczy jak deklaracje czy przypisania w środku wyrażenia. C++ jeszcze pogarsza sprawę takimi kwiatkami jak char (*name)[] gdzie przez dziwaczne zrządzenie losu element czyniący tablicę nie należy do definicji typu tylko zmiennej albo nieoczywisty priorytet operatorów << >>. Konkretyzacje szablonów same łamią konwencje leksykalne języka ponieważ X<Y<int>> zawiera operator >> i jest blędęm składniowym (choć zapewne wykrywanym, natomiast lekser nie ma żadnej możliwości sprawdzenia o co chodziło), i jako rozwiązanie problemu pisze się X<Y<int> >. Na szczęście opracowywany jest język D który ma zachować dobre strony C++ a pozbyć się złych. Miejmy nadzieję, że niegdyś on będzie tak popularny.

0

Chociaż u mnie przeważa Object Pascal (czy Delphi, jak kto go tam nazywa :) ) to bardziej mi się podoba styl, jaki występuje w C. Co prawda dopiero zaczynam się nim bawić (żeby poprogramować troszkę na Linuksie, Kylix jakoś mi się niewidzi :) ). C jest wg mnie bardziej czytelny i przejrzysty. Szkoda, że troszkę trudniejszy od Pascala ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1