Corner
de Luca family logo™
Vive l'Europe !
Corner
Tuesday September 7th 2010 Edition — 16th Year My status RSS logo RSS Feed   11:53 PM   FRANCE
 Homepage |  Site Map |  Taxonomy 
Search
Professional
Family
Genealogy
Miscellaneous
Corner


10 most popular:
  1. This site supports Apple, read 21701 times, exists for 1752 days, read 12.3793 times a day
  2. Proxy photographie : Votre iBook comme boite à lumière, read 9219 times, exists for 1704 days, read 5.4070 times a day
  3. Nightmare Creatures 3 : a unique video game !, read 12525 times, exists for 3063 days, read 4.0878 times a day
  4. Francis, le haricot magique, Jour 11, read 6013 times, exists for 1530 days, read 3.9275 times a day
  5. Taxonomie, read 5835 times, exists for 1504 days, read 3.8771 times a day
  6. Un jeu sur 3 CDs, read 5439 times, exists for 1501 days, read 3.6212 times a day
  7. Vous voulez votre photo sur Google ?, read 5787 times, exists for 1722 days, read 3.3587 times a day
  8. Flickr.com va plus loin, read 5337 times, exists for 1697 days, read 3.1431 times a day
  9. Destroy malicious usurpating mail, read 4730 times, exists for 1546 days, read 3.0575 times a day
  10. Microsoft hired a video game vetran of Sega to increase Xbox sales in Europe and Japan, read 5572 times, exists for 2786 days, read 1.9993 times a day

10 last posts:
  1. eBay Security Flaws or How am I supposed to have bought 28 objects in 3 minutes on ebay france, US and italy! created on Sept. 17th, 2006 21:47
  2. My Pilot License is Taking Off! created on Sept. 3rd, 2006 01:41
  3. Greek's no longer supported by bbc.co.uk! created on Aug. 31st, 2006 16:55
  4. Un jeu sur 3 CDs created on July. 29th, 2006 20:18
  5. A 3-CD-set Game created on July. 29th, 2006 19:51
  6. Index du Site created on July. 26th, 2006 21:04
  7. Site Index created on July. 26th, 2006 20:52
  8. Taxonomie created on July. 26th, 2006 20:44
  9. Taxonomy created on July. 26th, 2006 13:30
  10. Mars Special Ops Handbook created on July. 6th, 2006 22:16

10 last updated articles:
  1. Site Index updated on Sept. 19th, 2006 20:10
  2. 2002 Publisher Market Share updated on Sept. 19th, 2006 20:09
  3. Proxy photography: Your iBook as a light box updated on Sept. 19th, 2006 01:50
  4. eBay Security Flaws or How am I supposed to have bought 28 objects in 3 minutes on ebay france, US and italy! updated on Sept. 18th, 2006 22:45
  5. My Pilot License is Taking Off! updated on Sept. 8th, 2006 20:51
  6. Les enfants de la providence - Edition de 1824 updated on Sept. 8th, 2006 01:36
  7. SonyEricsson Releases it's New J2me Platform JP-7 updated on Sept. 8th, 2006 01:30
  8. Greek's no longer supported by bbc.co.uk! updated on Aug. 31st, 2006 17:08
  9. A 3-CD-set Game updated on Aug. 3rd, 2006 12:26
  10. Un jeu sur 3 CDs updated on July. 29th, 2006 22:37

Lingua: what simple ideas could improve programming languages?

Sept. 10th, 2009 19:30 by sdelucaPermalink | TrackBack: http://deluca.biz/trackback/869 | del.icio.us logoDel.icio.us — exists for 11 months & 3 weeks ago — Rate:

You certainly don't want yet another general purpose programming language, do you? Neither I do as many programming language are available out there, ranging from full production language to "experimental" ones.

My favorite language pick mostly depends on the platform I want to target for a given project: PHP is my preferred choice for Web development while Objective-C 2.0 is what I use when I design iPhone or Mac softwares; C++ is the one I take when I want to recycle former code portions I created in the 80s and 90s and Java for the code I produced in the past decade.

Sometimes, I want to evade from the day-to-day routine, when want to I give a try and use others languages I never get a chance to incorporate into production projects. For example, I recently enjoyed Python to test Google's cloud system -- aka App engine, to cite one.

But frankly, I have no time to dive into all the languages exist -- such as Scala or others -- and I probably never have; what a pity.

Anyway, from my productivity perspective, I should have use one and only one language I'd like for all purposes I cited so far, and for my future needs, I mean my future platforms or devices I'd surely want to program for.
You know how cool it would be if it exists one language -- The Language -- that you can program once and port everywhere, as the native language of those devices.

Though this is and remains a pure dream, I've taken a few days to think about what could be such a language and what should be the required feature it have to expose.

The answer is Lingua, a new class of language, not only the one which offers memory management, VM, object-orientation and the like, but also the one that implements two simple ideas: dialect support and language to platform translation.

Notion of dialect: abolition of the Babel Tower curse

You certainly know about the Babel Tower story: at that time, all humans on earth was sharing the same and unique language. Humanity was became so organized that they decided to threat God supremacy by building the Babel Tower so high that they could reach God himself and become as Big as Him. While God acknowledge that their efficiency was drawn from their organization, He decided to as many different languages as the number of tribes so that they could not longer communicate each others as they did before. This simply stopped the building.

Since then, we all speak a different language and frankly that don't help building software either. The current situation in a team is that we chose the same language -- say the Objective C -- and develop with it regardless the staff member's native language. And they all say:

if (c>10) {
	// some code
}
else {
	// some code
}

If I were french -- which I am actually -- I would preferably typed the equivalent code in french:

si (c>10) {
	// some code
}
sinon {
	// some code
}

This simply put, is the fundamental of Lingua: it offers the capacity to be translated on the fly to match the programmer's language.

When a french programmer types lingua source code, he might preferably use the french dialect, while a chinese programmer, staff member of the same team, might prefer to use the chinese lingua dialect.

While the french programmer loads a source file from an english programmer, his text editor -- lingua aware -- simply translate the language keyword and displays the source code in the right language.

(Franca) Lingua is an object-oriented language I have designed with the essential objective to match human cultural differences in that it can indifferently use any dialect.

Lingua simply "compile" into your platform!

And you know what, you can yourself implement a new platform effortless.

How it comes? programming languages are dialects as well! Yes, the dialect notion can simply be extended and you can define a PHP dialect or an Objective-C dialect and ask Lingua to export into it! It's that simple!

Lingua project status

Within a few days of thinking and programming, I manage to build the core syntax of Lingua -- being close of the C family languages syntax which almost everyone knows.

I wrote the syntax description and the related engine so that you can quickly implement any syntax feature you'd want.

As per now, you can switch the dialect from a range of language including: french, english and greek -- it's only a matter of translation.

And finally, I implemented two exportation dialects: PHP and Objective-C.

I wrote a couple of very small examples of code and tested it into PHP and Objective-C and proved the idea to be useful and this is why I decided to share this idea with you with the hope someone would take it and implement dialects in a production language, who knows.

Of course, beyond this proof of concept, the Lingua project would require much more energy to be put into it whenever I wanted to use it in the real life.

Last but not least, dialects solve some important issues but not all issues! What about the chinese comments in my french source?

Leave a comment | Reddit! |

Comments

Be the first to leave a comment.
Leave a comment No HTML tags allowed — Textile syntax appreciated




  Inform me when an answer is posted

Want to insert a photograph into your comment?
To insert a photo in your comment do the following:
1 — Choose one by clicking on Choose File button and select an image.
2 — Insert the special tag [image] in your text where you want it to appear.
3 — Validate your comment by cliking on the button.





If you have difficulties to read the code, click on the image.

Textile

A Humane Web Text Generator

what does it do?

Quick block modifiers:
Header: hn.
Blockquote: bq.
Footnote: fnn.
Numeric list: #
Bulleted list: *

Quick phrase modifiers:
_emphasis_
*strong*
??citation??
-deleted text-
+inserted text+
^superscript^
~subscript~
%span%

To apply attributes:
(class)
(#id)
{style}
[language]

To align blocks:
< right
> left
= center
<> justify

To insert a table:
|a|table|row|
|a|table|row|

To insert a link:
"linktext":url

To insert an image:
!imageurl!

To define an acronym:
ABC(Always Be Closing)

To reference a footnote:
[n]

Putting it all together

View sample input text


Advanced Features

<iphone src="url"/> : Display an iPhone Web application

<youtube src="url"/> : Display an YouTube video

<member username/> : Display an iPhone Web application

<iphone src="url"/> : Display an iPhone Web application

Smileys
[angry] :
[asleep] :
[clap] :
[cold] :
[cry] :
[dollars] :
[gift] :
[guru] :
[iloveyou] :
[laugh] :
[lol] :
[loving] :
[music] :
[shuss] :
[sick] :
[smile] :
[sport] :
[sweat] :
[unhappy] :
[wink] :
Back
Community
Forums
Projects
Advertising
Corner

This site supports Apple

Apple makes it easy, hence, as those fine people, switch to Apple right now:
switch to apple switch to apple switch to apple switch to apple
Leave a comment | Reddit!

Ce site encourage Apple

Apple rend les choses simples, donc, comme eux, passez sans tarder sur apple.fr :
Passez sur Apple Passez sur Apple Passez sur Apple Passez sur Apple
Leave a comment | Reddit!
Corner

Copyright © 1994 ˜ 2010 dsei.biz / Stéphane de Luca — All Rights Reserved

Corner