2008.07.30 19:39
a żeby język nie narzucał mi sposobu zapisu
Języki różnią się między sobą na przynajmniej dwu poziomach. Na jednym poziomie Python różni się od PHP tym, że w jednym funkcja jest zwykłym typem danych a napis jest obiektem - a w drugim jest inaczej. Na drugim poziomie Python od PHP różni się tym, jak oznacza się bloki (w PHP nawiasami klamrowymi, w Pythonie przez wcięcia), jak zapisuje się zmienne (w PHP przed nazwą zmiennej stawia się $, w Pythonie nie), jak zapisuje się polecenie "dla każdego elementu a podstawionego pod b wykonaj...".
Fajnie by było, żeby te dwa poziomy były niezależne. Żeby wybór rodzaju obiektowości nie narzucał mi określonego sposobu zapisu. To znaczy żebym mógł programować w Pythonie stosując albo klamry, albo wcięcia, stawiając dolar albo nie stawiając - jak wolę.
Albo może inaczej: żeby tak naprawdę język zapisywany był jak dotychczas, ale żeby mieć IDE, w którym mógłbym wybrać sobie, jaką konwencję zapisu chcę stosować, a IDE zajmowałoby się tłumaczeniem mojego zapisu na ten zapis właściwy, pod spodem. I może żeby wręcz pozwalało mi stosować w programie kolory, wytłuszczenia, kursywę itp - i żeby te elementy formatowania też miały znaczenie. Na przykład żeby nazwy zmiennych oznaczać nie znaczkiem dolara, ale czerwonym kolorem liter.
I tylko proszę:
- nie mówcie mi: to sobie zrób,
- nie mówcie mi: ale to z kolorami to już prawie jest, bo są edytory co kolorują składnię.
komentarze:
2008.07.30 19:41 Piotrek
To by dobre było, bo nie musiałbym przy każdym nowym języku uczyć się nowych konwencji zapisywania. I nie myliłoby mi się, cze w Pythonie jest for a w PHP foreach czy odwrotnie.
2008.07.31 14:53 epablito
W Eifflu tak było, że kod kompilowany był do c, a dopiero potem do wykonywalnego.
Z jednej strony to pytanie o uniwersalne narzędzie do konwersji kodu źródłowego języków, a z drugiej o to, czy składnia jest niezależna od semantyki
2008.07.31 16:33 Piotrek
Na pewno przynajmniej trochę jest niezależna. Na pewno natury Pythona i PHP nie wymagają, żeby w jednym było for, a w drugim foreach. Więc czemu jestem zmuszany, żeby zapamiętywać jak jest w którym?
2008.08.01 13:34 epablito
pewnie można dość łatwo określić, czy dwa języki są wzajemnie wymienialne składniowo, tzn. czy da się napisać translator działający pomiędzy nimi. jakby zbudować mapę takich odpowiedniości to będzie widać, które języki są wymienialne. piszesz w pythonie, translator przewala do PHP i po robocie.
2008.08.05 10:45 szymon
Ale może tak jak jest, że języki różnią się składnią, pomaga nam programistom czytać kod. Taka a nie inna składnia \"kojarzy\" się nam z określoną semantyką. Jeżeli mielibyśmy języki o takiej samej składni a różnej semantyce musielibyśmy ciągle myśleć - o! jaki to język? bo jeżeli HPh to działa tak, a jak BoA to tak (inaczej). A tak widzimy od razu - nie ma klamerek - \"Python\", są dolary przy zmiennych - PHP.
Natomiast wygodne byłoby, żeby te części języków, które mają jednakową semantykę, np. operatory logiczne, czy porównanie i przypisanie, miały jednakową składnię.
2008.08.05 10:52 Piotrek
@szymon: hm, może i masz rację z tym, że po składni od razu widać, jaki to język, i że dzięki temu wygodniej się czyta. Brzmi rozsądnie, teraz trzeba by jeszcze, żeby jakiś psycholog programowania przeprowadził badani i dowiódł lub obalił tę tezę.
Z drugim (że \"żeby te części języków, które mają jednakową semantykę, miały jednakową składnię\") zgadzam się.
powrót na stronę główną
RSS