Wikipedia:Głosowania/Implementacje tylko w pseudokodzie
Głosowanie ma na celu ustalić, czy decydujemy się na przeniesienie wszystkich algorytmów napisanych w "normalnych" językach programowania do pl.wikisource (dyskusja) pozostawiając w wikipedi kody algorytmów/funkcji etc. napisane tylko w pseudokodzie.
Oczywiście zatwierdzenie propozycji wymagało by założenia kolejnego topicu, w którym ustalono by standardy wikipedi dla owego pseudokodu.
Uzasadnienie[edytuj | edytuj kod]
Wikipedia jest pełna przeróżnych programów napisanych w przeróżnych językach, w różnych konwencjach (często bez konwencji). Jak ktoś gdzieś napisał wikipedia nie powinna być "brykiem programisty", dodatkowo implementacja w konkretnych językach bardzo często jest tak przesycona szczegółami związanymi ze składnią tego konkretnego języka, że kompletnie przesłania istotę algorytmu, o którym jest dany artykuł, czasami prowadzi to do rozsadzenia artykułu przez kod (nie pamiętam który, ale jest artykuł w którym prosta formułka algebraiczna jest zaimplementowana w kilku językach, co robi karykaturalne wrażenie)
- Np.: artykuł o NWD wyglądał tak, artykuł o algorymie Euklidesa [1]. Tyle ze w artykule o NWD uzywany jest tylko algorytm Euklidesa... googl d 17:55, 1 lut 2007 (CET)
Głosowanie[edytuj | edytuj kod]
Zasady głosowania[edytuj | edytuj kod]
- Głosować mogą zalogowani wikipedyści, którzy mają na koncie przynajmniej 100 edycji w chwili rozpoczęcia głosowania i miesięczny staż na polskiej wikipedii
- Wynik głosowania jest wiążący, jeżeli zagłosuje co najmniej
jeden? wikipedystów. - Czas trwania: do 14 lutego, godzina 10:20.
- Zasada zostanie wprowadzona jeśli po zakończeniu głosowania będzie miała więcej głosów poparcia niż sprzeciwu.
Głosy za propozycją[edytuj | edytuj kod]
- Za
Głosy przeciw[edytuj | edytuj kod]
- Przeciw
Dyskusja[edytuj | edytuj kod]
Wpierw powinna byc dyskusja. Sam napisalem swoje zdanie na Dyskusja portalu:Algorytmy. Głosowania są wtedy gdy nie można osiągnąć konsensusu. googl d 13:01, 1 lut 2007 (CET)
Mam wątpliwości odnośnie 2 punktu regulaminu. Jeden wikipedysta? Przecież nawet jeśli cała społeczność zbojkotuje głosowanie, a przykładowo zakładający głosowanie zagłosuje Za (lub Przeciw) to głosowanie ma być wiążące? Moim zdaniem to dość głupi pomysł. Dodek D 15:54, 1 lut 2007 (CET)
- dyskusja dyskusją, zawsze można jej nie zauważyć, a na tablicy ogłoszeń zainteresowani zawsze znajdą. Punkt drugi faktycznie nie teges, wkleiłem po prostu szkielet głosowania i myślałem, że tak zwyczajowo jest.. IMHO mogą znaleźć się ludzie, którzy mogą się kłócić o to, dlaczego ich działający kod nie może się znaleźć w artykule, a tak jest wszystko legit Rnm 16:31, 1 lut 2007 (CET)
Jak dla mnie OK, trzeba by tylko zrobić jakiś szablonik informujący o implementacjach znajdującyh się na wikisources. Będzie też problem z tym jak powinien wyglądać pseudokod. Osobiście lubię taki, który jest oparty na C (chodzi o klamerki), ale widywałem też oparte na Pascalu (begin/end), czy na Pythonie (bloki wyłącznie wg poziomu tabulacji). Ten ostatni byłby najgorszy chyba, bo na wiki nie można normalnie używać tabulacji. --Nux (dyskusja) 17:42, 1 lut 2007 (CET)
Tak to jest dylemat, zwłaszcza, że dochodzi następująca kwestia: czy zapisywać zwyczajowe ify i while po angielsku czy po polsku? IMHO powinny być po polsku, ponieważ mieszanie polskich nazw zmiennych z angielskim ("if jest jeszcze wierzchołek w grafie...") czerstwe jest. Co do szabloniku to nie problem - takowy już jest.
Moja propozycja pseudokodu:
- jeżeli warunek : instrukcja/blok
- dopóki warunek : instrukcja/blok
- dla i od j do k : instrukcja/blok
- { instrukcja } // blok
- dla wszystkich i w zbiór : instrukcja/blok //przydatna dla list, grafów itp.
- proponuje odpuszczenie wytycznych co wyglądu warunków, przypisań, odwołań do części kolekcji itp. - myślę, że zasada wyczucia sytuacji będzie tu odpowiednia
- algorytm zapisywany jako funkcja z argumentami, proponowałbym wprowadzenie zalecenia, by kluczowe zmienne wypisywać jak w pascalu przed definicją funkcji, np
Algorytm_X(Graf/* /Lista/Napis itp */ G) zmienne: drzewo D, kolejka FIFO K { za D podstaw puste drzewo '''dopóki''' D nie zawiera wszystkich wierzchołków G: { //.... } '''zwróć''' D }
jeżeli sprawą się rozrośnie, to będzie można pomyśleć o głębszych standardach, np. zapisu algorytmów grafowych, ale wszystko w swoim czasie Rnm 22:38, 2 lut 2007 (CET)