czwartek, 27 października 2011

Reklamy

Witam!
Dostałem dzisiaj bardzo śmiesznego maila. Hmm...może zamiast opisywać co takiego w nim było wrzuce tutaj ocenzurowaną wersję ;)
Pan Dmytro(lol, coś translator nawalił mu) pisze:
Witam!
Chcialbym tylko podziekowac ci za super blog assalog.blogspot.com.
Przeczytałem post "Lynx32 published!", i spędziłem na twoim blogu jeszcze godzinę z przyjemnością :) Piszesz dobre, ciekawo i łatwo do czytania. Bardzo ładny jest post "while i...when".
Generalnie pracuję w firmie XXX, wyszukiwarce ofert pracy na całym świecie.
Moim zadaniem jest przekonanie blogerów o umieszczenie linków do naszej strony.
Kocham swoją pracę, mamy przyjazny zespół i dobre kierownictwo, ale niestety nie mam pojęcia jak przekonać bloggera umieścić do nas link, obawiam się, mogę zostać wyrzucony za to z pracy :(
I teraz, zamiast wysyłania mailów do tysięcy różnych blogów, czytam twój.
Szczerze mówiąc, nie jestem bardzo pewien, że link do naszej strony w Polsce X(link do strony), będzie odpowiednia do twego bloga, ale jeśli jest to możliwe, masz ode mnie ogromne PODZIĘKOWANIA! Strona jest naprawdę super, bardzo pomaga w wyszukiwaniu pracy.
Życzę miłego dnia i dobry nastrój! Jeszcze raz dziękuję za fajny blog. Pisz więcej.
P.S. Twój znak Zodiaku jest Baran?! Tacy ludzi są zdolne!
My best,
Dmytro Ivanenko
Account Manager
Jak widać tekst wygląda co najmniej szablonowo. Nie wiem czy to jest jakiś blogger'owy spam czy co, ale powiem szczerze: gdyby nie drobne wpadki z translatorem to dałbym się nabrać i zamieścił ową reklamę.
No cóż trzeba pogratulować jenteligencji i sztuki operowania ludzkimi uczuciami-dałem się nabrać na tą litość!

sobota, 15 października 2011

Lynx32 published!

Hai all!
It's my first post in english :D Sorry if i speak everything wrong but my english is medium to low :P
You may have heard something about Lynx32 but most people have never heard about it.
Lynx32 is easy project. It sounds awful if you are a complete layman, or programming from the recently, but it really is a simple project.
The simple architecture 
Lynx has 4 registers: two 16 bits, two 8 bits and a common set of two 8-bit.In the future I plan to implement a stack. I want to use it for functions and procedures as a "container" to the arguments. While we're on the list, todo, it would be to provide:
TODO list:
My task list is simple: in the future I plan to Implement "green threads" (as in the JVM),Procedures and functions and variables. The Latter is planning to keep the code as aseparate segment, however, as in assembler. I thought also of the use for that purpose registers, but scares me the amount of such records in such a Parrot(32 for all of 4 types!).
End
This entry is short because it is in English. I hope that you are interested in this project. If so go to this site
and help me(eg. leave a comment or tell me about errors).

while i...when

Witam!
Rzadko się spotyka języki tak zaprojektowane, że implementują funkcyjność bez szkody dla obiektowości. Takim językiem na pewno nie jest OCaml gdyż bardzo upośledza on sam siebie...(F# jest już ładniejszy).
Nemerle zaś bardzo dobrze radzi sobie z obiektowością(używając stałych!). Bardzo ciekawym przypadkiem rozwiązania pewnego problemu na 2 sposoby jest liczenie linii w pliku tekstowym:

class LineCounter
 {
   public static Main () : void
   {
     //  Open a file.
     def sr = System.IO.StreamReader ("SomeFile.txt");   
     mutable line_no = 0;                                
     mutable line = sr.ReadLine ();
     while (line != null) {            
       System.Console.WriteLine (line);
       line_no = line_no + 1;           
       line = sr.ReadLine ();
     };                                  
     System.Console.WriteLine ("Line count: {0}", line_no);
   }
 }
Jest to typowo imperatywne rozwiązanie problemu. Teraz zobaczmy sobie przykład wykorzystania when.

class LineCounterWithoutLoop
 {
   public static Main () : void
   {
     def sr = System.IO.StreamReader ("SomeFile.txt");
     mutable line_no = 0;
 
     def read_lines () : void {            
       def line = sr.ReadLine ();
       when (line != null) {               
         System.Console.WriteLine (line); 
         line_no = line_no + 1;           
         read_lines ()                    
       }
     };
 
     read_lines ();      
 
     System.Console.WriteLine ("Line count: {0}", line_no); 
   }
 }
Jak widać mamy bardzo ładny przykład :)
When działa podobnie jak while jednak bez skoku :) Wykonuje kod dopóki, jednak nie skacze na początek(po wykonaniu kodu) jeżeli warunek jest prawdziwy. To bardzo ciekawy lukier składniowy, sprawiający, że można praktycznie odejść od imperatywizmów i skupić się na rekurencji :)

Popularne posty