Marco Russo

.NET, Business Intelligence e dintorni

News

Windows Developer Conference 2012

Torino Technologies Grou

Corsi

Libri

Miei blog in inglese

Archives

Programmazione imperativa e funzionale

L'avvento di .NET 3.5 porterà ai linguaggi che usiamo di più (C# e VB) una serie di novità che sono principalmente destinate a supportare LINQ. Gli interventi sui linguaggi, però, hanno una portata più vasta di quello che sembra destinato a soddisfare le esigenze sintattiche di una particolare estensione "verticale" (come potrebbe essere l'integrazione delle query sui dati in un linguaggio - in realtà LINQ è qualcosa di più ma questo sarebbe argomento per un altro post).

Un tema che emerge è l'introduzione di elementi di programmazione funzionale nei linguaggi. Quando dovetti imparare il Lisp, pensavo che i linguaggi più funzionali avessero un ruolo marginale e irrilevante, credendo che fossero desitnati a estinguersi. Molti di noi sono probabilmente più abituati alla programmazione imperativa: io sono cresciuto con Pascal e C, poi C++, Delphi (quindi programmazione a oggetti), fino ad arrivare a C#. Chi è passato da VB o Clipper ha comunque una formazione analoga.

Si sa, l'esperienza porta fa acquisire nuovi punti di vista e le novità introdotte in C# 3.0 porteranno a un'evoluzione che va verso i linguaggi funzionali più che ai linguaggi dinamici, come erroneamente anche io ho avuto modo di pensare.

Perché questi aspetti sono rilevanti? Uno dei motivi è che i linguaggi funzionali consentono più facilmente di delegare al compilatore attività di parallelizzazione delle operazioni, in particolare quando si opera su dei valori (tipi value) piuttosto che su degli oggetti (tipi reference). Un altro è che la programmazione funzionale consente un approccio top-down piuttosto che bottom-up, il che ha i suoi pro (vedi Expression-based programming) e contro.

Se volete saperne di più e sentire cosa ne pensano i principali progettisti in Microsoft, non perdete questa tavola rotonda in cui potete sentire Anders Hejlsberg, Herb Sutter, Erik Meijer e Brian Beckman discutere di questi temi in maniera estremamente più competente di quanto potrebbe fare il sottoscritto.

Comments

devlizard said:

Ho trovato interessante questo articolo: http://www.codeproject.com/useritems/csharp3-concepts.asp, che presenta le novità introdotte in C# 3.0 come "influenzate" anche dalla ricerca che ha portato allo sviluppo di F# (linguaggio funzionale, appunto, per quanto spurio).

# January 28, 2007 9:13 AM

carlosswilsonw said:

From 1,000 yuan to 2,000 yuan; washing machine from 2000 yuan to 3500 yuan; Wall Thereby, for indoor usage of dryer, this disposed air alternatively; must be vented outside using any of indoor dryer vents. But there are even some appliances which though are considered to be major appliances are not so. Its all wood framing, and incorporates boxes similar to the base for all the Adobe caves.

# October 14, 2012 12:48 PM

brennanekernj said:

It operates into two divisions: is the division dedicated to discover and to develop a novel of chemical entities as a formula of medicine. Which brings me to the topic of this conversation. There is some good news though, hoodia based appetite suppressants can be an effective way to reduce your hunger. Once you checked this, your Hoodia diet will be a real "Natural Diet" with Hoodia. The routine intake of a hoodia diet pill and similar weight loss supplements might also serve as constant reminders to the customer of their weight loss goals.

# October 15, 2012 5:12 AM

anthonyrsiddiquio said:

You must keep your resume up to date, so if it has been a while you should make sure all the information is accurate. As any Olympic Athlete will tell you its mostly about the work you do to prepare yourself. As previously mentioned, it has now become common for International companies to outsource certain tasks and responsibilities to a third party provider, typically in another country. They still have 10 or 20 billions.

# October 15, 2012 8:33 AM

susanipurig said:

Decide what you want and commit to it with the right attitude. If you are going to move just the piano, then there are chances you will have to wait up to two weeks for the truck to be able to fill up with other requirements moving to your area. When you are practicing, most importantly you should pay attention to accuracy playing with the metronome beats and playing a wide range of speeds. In other words, when the notes on the staff go up, they are moving to the right and when they go down, they are moving to the left. Once a dolly has been installed upon a piano, it typically stays connected to the piano for as long as the piano exists.

# October 15, 2012 12:32 PM

susanipurig said:

2 x Exploration Crystal At this point in the adventure, the group will have leveled. dogs at an early age.

# October 15, 2012 1:29 PM

pamelatlaner said:

The University of Washington is regarded as the largest university in the Northwestern United States and one of the oldest universities on the West Coast. Besides all of these traits, a nurse should also possess very good understanding of both science and math and her reading and writing abilities should also be very good. First to consider is the requirements: You must be physically fit which will be determined in your physical exam at the beginning of the training. The doctor is stil responsible for supervising the nurses and staff. $49.99$34.99

# October 21, 2012 10:54 PM

monicawperryc said:

much about gold then you are in need of gold jewelry tips or gold is responsible for overseeing the monetary polices that have been developed by Expansions are possible. Watch late night for the best values. December and January have each seen just over 1.5% gains on average.Armed with this knowledge, many investors and traders choose to buy gold futures during the summer months when prices are typically lower setting up for the trade in the months of September through February.

# October 31, 2012 7:10 PM

peterssextonf said:

Visit   Design would be nothing these days without a intense understanding of technological devices and tools - CAD is something you will need to learn in depth. It is the well-known fact that there is no any higher educational establishment which allows you to receive your Associate Degree in Nursing by studying the whole term online.

# November 1, 2012 12:39 AM

tinazdavist said:

Of the three types of nursing, registered nursing (the RN) is the most common type. THE THREE KINDS OF NURSES Increased faculty turnover was selected most often as a negative factor.

# November 2, 2012 12:45 PM

fernandokpecky said:

Maxim #3: Eating too much does not cause obesity. Instead, obesity causes overeating. 12. A Canadian study found that 83 percent of doctors are less likely to perform exams on obese patients, according to University of Alberta researcher Tim Caulfield, research director in public health sciences. This is the preferred option over the one mention in the second item. Instead of removing one food group, just make sure that you select the right choices like having white meat over red or olive oil over coconut oil. Physical activity shouldnt be relegated to the gym or playground. Allow movement throughout the entire schedule. How active are the transitions in your classroom? How long do children sit and wait? For that matter how long do children sit in general? Look at your schedule and see how long are children sitting before they move again. Incorporate movement into dismissal so all children are active. (This will also start to cut down on behavior problems as active children arent being required to sit still for inappropriate amounts of time. Polycystic Ovarian Syndrome: The production of a high level of the hormone androgens is a common cause of obesity in women.

# November 2, 2012 3:32 PM