»
S
I
D
E
B
A
R
«
Google “Go” become “issue 9″
Nov 19th, 2009 by evereq

Today I get a talk with my friend regarding new programming language emerged by Google with “interesting” name  “Go”.

Actually we both agree that we don’t see any reason to invent another “low level” / “middle” level compiled programming language… with Nothing NEW inside (see notes at the end of the post)! Just reuse of best practices, but with a LOT of limitations compared with C++ for example  (just take a look here for some comparison information – most impressive that Google decide: “Go does not have classes with constructors or destructors. Instead of class methods, a class inheritance hierarchy, and virtual functions, Go provides interfaces, which are discussed in more detail below. Interfaces are also used where C++ uses templates.”… very strange for me… I can agree with C# approach for such details, but seems Google approach is too much!!! I note sure is it really OOP  or not if you have only interfaces in hands…. when I do everyday development in C#, at least few times per day I not happy that I don’t have true multiple inheritance, what developers will say about “Go” if they start use it everyday??? )!

Personally I think that if Google want invent some “own” programming language (and only in case if they really want OWN…) they need to take a look into high (or very high) level multi paradigm languages like  F# or Scala (or at least on Groovy with his meta programming features for example) and does not invent another “c/c++” or “Python” inspired language !

But what is most interesting and curious is that Google give the name for new language exactly same like another person name his language few years ago!  To be more concrete, go to the issue 9 page in google issues tracking page for new language:

“Issue 9: I have already used the name for *MY* programming language”

Amazing! Just read comments! Ha ha ha! Never see something like this before regarding programming languages! Google took this name and even not “google” for it ;-) ! Amazing stupid mistake! Yes, even companies like Google with best and talented people made such stupid mistakes! Actually, I not sure that name “Go” anyway is a good name for such language (and not only me think this way – read comments to issue 9 to get many examples!)…

Even for me, with average (or even low) level of English it looks strange that something that they promote as “fast” have the name “Go” (as we all know most of things that “Go” is slow by default)… Why they not name it “Run” , if they want that this language actually “run” ?! Or like many people suggest “Goo” (from Google) ?

Anyway, it looks really curious…….. :)

Hope this will just “push” Google to develop BETTER OWN language (it MUST be HIGH level or VERY HIGH level language for sure!!!) and probably select for it BETTER name!

Notes:
1) in this post I follow latest definitions for  “low level” and “high level” languages… Sure long time ago, “low level” was assembler and C was “high level” language! But currently, it looks like languages like C become really “low level” also! You can check for example following Wikipedia article to get more information).  After reading most of information on Go language website, I still not sure can we call this language “Object Oriented” for example… In most areas approach of Google looks minimum “strange”… Except maybe how they implement concurrency… Maybe I just need to try to code something on it to get  better understanding?)
2) Please note that I DON’T describe “Go” language as “bad” language. Instead I just put it to “low level” or “middle level” where it looks perfectly!  Sure Google will found A LOT of ways how to use this language (and I think maybe already found such ways – for example to embed it in Chrome – read more here) and will “push” usage of  this language inside Google and sure outside! And Google really have resources to do this! And some people will probably LIKE new simple but speed language! What I just NOT happy is that this language is NOT really high level language (NO Generics for example, at least by now!). Sure it’s just first release, maybe Google will improve it… but  Google likes “minimalism” style, so….. Anyway, let’s just wait a little! Maybe they change language name and Universe! ;-)

Evejob Development Environment Installation Part #6: .NET, C#, ASP.NET MVC and Azure Installation
Oct 21st, 2009 by evereq

.NET development Environment Installation

  • Download and install Microsoft SQL Server 2008 (any edition will fit, including Free Express)
  • Download and install Microsoft Visual Studio 2008 Standard, Professional or Team Edition (feel free to read about installation order in here)
  • Download and install service packs for SQL Server and for Visual Studio 2008 (at least SP1 required)
  • Download and install ASP.NET MVC 1.0
  • Download and install latest Azure SDK (make sure that Enable IIS7 with ASP.NET and WCF HTTP Activation – read more on here)

Creating EvejobNET Solution

Open Visual Studio, select “File / New Project” and fill form with following details (make sure you select ASP.NET MVC Web Application template):

EvejobNETSolutionCreate

Press “OK” and on next window “Create Unit Test Project”, select “Yes” and press OK:

SelectVisualStudioUnitTests

You will get solution loaded into Visual Studio with 2 projects: ASP.NET MVC Application (EvejobNET) and Unit Tests project (EvejobNET.Tests):

EvejobNETSolution

You can now try to run it, just press “Start Debuging” Button and make sure that you agree with action to “Modify the Web.config file to Enable Debugging”. Your default browser will open test site, hosted by development server (build in into Visual Studio).

Creating EvejobAzNET Azure Solution

Go to “File / New Project”, select “Cloud Service” template in New Project Window and fill project name and path like on following screenshot:

EvejobAzNetSolutionCreate

After you press “OK” you will need to select Roles to be added to solution. At the time I write this, there was no ASP.NET MVC role available, so let’s just temporary add ASP.NET Web Role (keep default name for now):

AddWebRole

After you press OK, solution will be opened with WebRole1 Project. Now it is time to remove “WebRole1″ temp project from solution (don’t forget to delete unused folder, with content, WebRole1 in C:\evejob\EvejobAzNET).

Next step is to add new ASP.NET MVC project: like was done above for EvejobNET project – just simply right click in solution explorer on “Solution ‘EvejobAzNET’” and select “Add New Project”, than select ASP.NET MVC Web Application Template and give this template name “EvejobAzNETMvcWebRole” to keep Azure standard naming convention.

One more step to finish – you need to associate role, so in solution explorer right click on “No project associated (WebRole1)” and select same like on screenshot:

AssociateProject

In opened window for association, make sure that you select “EvejobAzNETMvcWebRole” project:

AssociateWithRole

Your solution will looks like this now:

AzNetSolution

Now it’s time to test it – just press “Start Debugging”  in Visual Studio. Probably you will get following question (if everything going well):

DevelopmentStorageNeeds

Sure thing, correct answer “Yes” :) Ones it finished you will get another window that show “Development Storage Initialization” – just press “OK” button here and continue with execution.

You can get following popup also:

MicrosoftCloudToolsUpdates

I hope you answer yes, as probably you want to be sure that you use latest Tools available for Azure :)

Finally, your default browser probably opens with http://127.0.0.1:81/ Url and you will see “My MVC Application” :)

If so, that we just prepare everything to start EvejobAzNET development :)

Ah, one small note – you can check status in “Development Fabric” and in “Development Storage” – small icons are added to Windows taskbar – right click on each and select “Show …”:

DevelopmentFabric

DevelopmentStorage

Thats it!

»  Substance: WordPress   »  Style: Ahren Ahimsa
© Copyright 2008–2009 EvereQ.com All rights reserved.