Loglan'82: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
+ | Mamy nadzieję, że informacje zawarte na tych stronach okażą się interesujące dla: | ||
+ | * '''Ambitnych programistów''' -- język Loglan'82 oferuje garść konstrukcji i rozwiązań nieznanych w innych językach programowania : | ||
+ | :: * Jeśli chcesz świadomie zarządzać pamięcią obiektów i uniknąć przy tym niebezpiecznego zjawiska ''wiszacych referencji'' to spróbuj instrukcji '''kill'''( ), | ||
+ | ::* Jeśli oprogramowanie, które tworzysz ma służyć obliczeniom współbieżnym, lub rozproszonym lub jakiejś ich kombinacji to wybierz Loglan'82 z jego jednym modelem obejmującym wszystkie te rozdaje obliczeń, zredukuje to znacznie koszty opanowania programowania współbieżnego i/lub rozproszonego, | ||
+ | ::* Na pewno warto zapoznać sie z protokołem obcego wołania metod wątku A podczas wykonywania instrukcji wątku B, jest to oryginalny wynalazek znany jak dotąd tylko w Loglanie, | ||
+ | ::* Jeśli masz zamiar zaprogramować obliczenia quasi-współbieżne to zapoznaj sie z współprogramami ('''coroutines''') | ||
+ | * '''Nauczycieli''' -- Loglan'82 jest dobrym wyborem jeśli chcesz przedstawić wszystkie narzędzia i metody programowania obiektowego unikając przy tym przechodzenia od jednego do kolejnego języka programowania dla zilustrowania kolejnych narzędzi programowania obiektowego, | ||
+ | * '''Badaczy''' -- Ponieważ język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów: | ||
+ | ::* czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania | ||
+ | :::* Jak zapewnić statyczne dowiązanie wystapienia identyfikatora z wystąpieniem odpowiedniej deklaracji? | ||
+ | :::* Jak określić, która klasa jest dziedziczona przez ...? | ||
+ | :::* Czy można odziedziczyć klasę A w funkcji j? | ||
+ | ::* Czy zarządzanie pamięcią obiektów musi doprowadzać do zjawiska wiszących referencji? Czy zaśmiecanie pamięci może być skutecznie zwalczane przez jej odśmiecanie tj. garbage collection? Czy można bezpiecznie i efektywnie usuwać obiekty już niepotrzebne? | ||
+ | |||
+ | |||
+ | may find interest in Loglan'82 as it is a product of studies. Many scientific problems were solved before we defined the language and its semantics. Some open problems are still open. | ||
+ | \end{itemize} | ||
+ | |||
+ | |||
+ | \section{Why Loglan?} | ||
+ | We recommend Loglan'82 to those who are investigating. For the language came out as the result of research on questions like: | ||
+ | \begin{itemize} | ||
+ | \item is it possible to inherit from a class in a function? | ||
+ | \item how to define inheritance when the extended class is not a brother of the present class? | ||
+ | \item is it possible to keep the scheme of accessing to non-local ... | ||
+ | \item how to define coroutines in a consistent manner? | ||
+ | \item is it possible to define semantics of concurrent and of distributed programming in a uniform way? | ||
+ | \item is it possible to deallocate objects ina a safe and efficient way? | ||
+ | \end{itemize} | ||
+ | |||
+ | |||
Język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów: | Język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów: | ||
* czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania | * czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania |
Wersja z 17:34, 5 lut 2013
Mamy nadzieję, że informacje zawarte na tych stronach okażą się interesujące dla:
- Ambitnych programistów -- język Loglan'82 oferuje garść konstrukcji i rozwiązań nieznanych w innych językach programowania :
- * Jeśli chcesz świadomie zarządzać pamięcią obiektów i uniknąć przy tym niebezpiecznego zjawiska wiszacych referencji to spróbuj instrukcji kill( ),
- Jeśli oprogramowanie, które tworzysz ma służyć obliczeniom współbieżnym, lub rozproszonym lub jakiejś ich kombinacji to wybierz Loglan'82 z jego jednym modelem obejmującym wszystkie te rozdaje obliczeń, zredukuje to znacznie koszty opanowania programowania współbieżnego i/lub rozproszonego,
- Na pewno warto zapoznać sie z protokołem obcego wołania metod wątku A podczas wykonywania instrukcji wątku B, jest to oryginalny wynalazek znany jak dotąd tylko w Loglanie,
- Jeśli masz zamiar zaprogramować obliczenia quasi-współbieżne to zapoznaj sie z współprogramami (coroutines)
- * Jeśli chcesz świadomie zarządzać pamięcią obiektów i uniknąć przy tym niebezpiecznego zjawiska wiszacych referencji to spróbuj instrukcji kill( ),
- Nauczycieli -- Loglan'82 jest dobrym wyborem jeśli chcesz przedstawić wszystkie narzędzia i metody programowania obiektowego unikając przy tym przechodzenia od jednego do kolejnego języka programowania dla zilustrowania kolejnych narzędzi programowania obiektowego,
- Badaczy -- Ponieważ język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów:
- czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania
- Jak zapewnić statyczne dowiązanie wystapienia identyfikatora z wystąpieniem odpowiedniej deklaracji?
- Jak określić, która klasa jest dziedziczona przez ...?
- Czy można odziedziczyć klasę A w funkcji j?
- Czy zarządzanie pamięcią obiektów musi doprowadzać do zjawiska wiszących referencji? Czy zaśmiecanie pamięci może być skutecznie zwalczane przez jej odśmiecanie tj. garbage collection? Czy można bezpiecznie i efektywnie usuwać obiekty już niepotrzebne?
may find interest in Loglan'82 as it is a product of studies. Many scientific problems were solved before we defined the language and its semantics. Some open problems are still open.
\end{itemize}
\section{Why Loglan?}
We recommend Loglan'82 to those who are investigating. For the language came out as the result of research on questions like:
\begin{itemize}
\item is it possible to inherit from a class in a function?
\item how to define inheritance when the extended class is not a brother of the present class? \item is it possible to keep the scheme of accessing to non-local ... \item how to define coroutines in a consistent manner? \item is it possible to define semantics of concurrent and of distributed programming in a uniform way? \item is it possible to deallocate objects ina a safe and efficient way? \end{itemize}
Język programowania obiektowego, powstał w wyniku poszukiwania odpowiedzi na kilka problemów:
- czy można połączyć dwie metody tworzenia modułów: zagnieżdżanie oraz dziedziczenie? Zanim zezwoliliśmy na zagnieżdżanie i dziedziczenie klas musieliśmy odpowiedzięc na kolejne pytania
- Jak zapewnić statyczne dowiązanie wystapienia identyfikatora z wystąpieniem odpowiedniej deklaracji?
- Jak określić, która klasa jest dziedziczona przez ...?
- Czy zarządzanie pamięcią obiektów musi doprowadzać do zjawiska wiszących referencji? Czy zaśmiecanie pamięci może być skutecznie zwalczane przez jej odśmiecanie tj. garbage collection? Czy można bezpiecznie i efektywnie usuwać obiekty już niepotrzebne?