Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Tips C# 2 – .NET Platform Target

Vrem sa ne asiguram ca aplicatia pe care am construit-o va rula fara nici o problema si pe arhitectura x86 (32 biti) si pe arhitectura x64 (64 biti). Daca folosim Visual Studio ca IDE, se poate selecta din proprietatile proiectului, sectiunea Build, optiunea Platform target. Aceasta are ca valori: Any CPU, X86, X64, Itanium.

Pe baza valorilor setate, compilatoarele vor genera codul IL care va fi transformat de CLR prin compilatoarele JIT in cod nativ pentru platforma respectiva. Schimbarea acestei setari nu va genera cod diferit, ci doar va stabili arhitectura compatibila.

Presupunem ca avem un assembly .Net (Any CPU) cu referinta catre un alt assembly .NET sau catre un unmanaged DLL, compilat pe o anumita arhitectura (32 de biti). Acest scenariu pe un sistem de operare cu 32 de biti va functiona foarte bine pentru ca .NET assembly va fi compilat JIT ca 32 de biti.
Pe un sistem de operare cu 64 de biti, .NET assembly va fi compilat JIT pe 64 de biti si va incerca sa apeleze dll-ul care e pe 32 de biti, acest lucru nefiind permis. Pentru ca pe o arhitectura de 64 de biti procesele de 32 de biti ruleaza fara probleme (de fapt, procesele vor rula in WOW64, o componenta a sistemului de operare care va crea proceselor “iluzia” unui sistem de operare pe 32 de biti), rezolvarea consta in schimbarea arhitecturii la 32 de biti pentru assembly-ul .NET.

Windows Phone (IX)

Control Windows Phone – Un control pentru scanarea codurilor QR.
Skype si Windows Phone – Se pare ca serviciul Skype va fi lansat in Windows Phone mai intai ca o aplicatie stand-alone, urmand sa fie integrat in urmatoarele versiuni ale sistemului de operare.
Conferinta Windows Phone pentru dezvoltatori – Anul acesta va avea loc prima conferinta dedicata in totalitate Windows Phone.
2011 pentru dezvoltatorii Windows Phone – 80.000 de dezvoltatori inregistrati, peste 50.000 de aplicatii, cele mai descarcate fiind jocurile. Din pacate, nu reiese valoarea in dolari a Windows Phone Market.

Programming jokes

Nu le traduc pentru ca isi pierd farmecul:

An int, a char and a string walk into a bar and order some drinks. A short while later, the int and char start hitting on the waitress who gets very uncomfortable and walks away. The string walks up to the waitress and says “You’ll have to forgive them, they’re primitive types.

A programmer is walking along a beach and finds a lamp. He rubs the lamp, and a genie appears. “I am the most powerful genie in the world. I can grant you any wish, but only one wish. The programmer pulls out a map, points to it and says, “I’d want peace in the Middle East.” The genie responds, “Gee, I don’t know. Those people have been fighting for millenia. I can do just about anything, but this is likely beyond my limits.”
The programmer then says, “Well, I am a programmer, and my programs have lots of users. Please make all my users satisfied with my software and let them ask for sensible changes.”
At which point the genie responds, “Um, let me see that map again.”

The three most dangerous things in the world are a programmer with a soldering iron, a hardware engineer with a software patch, and a user with an idea.

Whats common between beggars and software engineers? They both ask the same question when meeting another one of their kind; Which platform are you working on?

When a programmer goes to bed he sets out 2 glasses on his bedside table:

  • One glass is full of water, in case he wants to get a drink
  • One glass is empty, in case he doesn’t

Tips C# 1 – Informatii despre sistemul de operare

.Net Framework contine clasa statica Environment care furnizeaza informatii despre sistemul de operare:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Versiune sistem de operare: " + Environment.OSVersion);
            Console.WriteLine("Service Pack:" + Environment.OSVersion.ServicePack);
            Console.WriteLine("Versiune CLR: " + Environment.Version);
            Console.WriteLine("Sistemul de operare este pe 64 de biti: " + Environment.Is64BitOperatingSystem);
            Console.WriteLine("Utilizator: " + Environment.UserName);
            Console.WriteLine("Computer: " + Environment.MachineName);
            Console.WriteLine("Sistemul este instalat in: " + Environment.SystemDirectory);

            Console.ReadLine();
        }
    }

.Net Framework nu contine o proprietate pentru a afisa numele sistemului de operare, de exemplu, Windows Xp. Decizia este motivata de faptul ca solutiile trebuie sa fie bazate pe versiunea sistemului, nu a numelui. Se pot afla mai multe informatii despre sistemul de operare prin utilizarea Windows API.

Windows Phone (VIII)

Windows Phone 7.10.8107 Update – O actualizare care doar fixeaza niste bug-uri.
2012, segmentul smartphone – Conform MIC, Windows Phone va ajunge anul acesta la 13% din piata smartphone-urilor, Android va trece de 50%, iOS la 19%, toate acestea in conditiile in care numarul utilizatorilor va creste de la 452 la 614 milioane. RIM si Symbian vor fi in declin.
Marketplace se extinde – Microsoft mai adauga Argentina, China, Indonezia, Malaezia, Peru si Filipine in lista tarilor cu servicii pentru Windows Phone. Romania, nu.

Back to basics – Despre limbajele de programare

Parcurgand articolele din blog, mi-am dat seama ca nu exista o introducere despre limbajele de programare, tipul acestora, o scurta istorie a lor si a tehnicilor de programare larg utilizate. Consider ca astfel de articole ar fi foarte utile pentru incepatori, care isi pot construi o viziune de ansamblu a evolutiei si a diversitatii limbajelor de programare.

Un limbaj de programare reprezinta un mijloc de comunicare intre programator si calculator. Ca si in cazul unui limbaj natural, (romana, engleza, etc.) sunt importante trei aspecte:

Continue reading