Cloud Stuff Prgrm
-
Upload
bnaren-naren -
Category
Documents
-
view
219 -
download
3
description
Transcript of Cloud Stuff Prgrm
Stack Exchangesign up
log in
tour
help
careers 2.0
Stack Overflow Questions Tags Users Badges Unanswered Ask Question
Take the 2-minute tour ×Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.
Which programming language for cloud computing? [closed]
up vot
e15down votefavorite
3
Now that the new cloud computing-era is coming, and I am going to learn to program, I don't know which programming language the clouds support.
I think what the support Java, ASP.NET, PHP, Python, Ruby, Perl etc. and not the low-end languages, like C, C++ etc... Or am I wrong? If that is so software companies will have to re-develop their software. Is this the time you can start a project, and you have no big software company as a competitor?
I want to know which language I should focus on learning, so that I can develop for the cloud.
cloud
share|improve this question edited Aug 11 '11 at 14:01
cdiggins5,5362845
asked
Anomym86
closed as not constructive by BoltClock♦ Nov 23 '12 at 8:25
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.
add comment
9 Answersactive oldest votes
up vot
e18down vote
+50
"Cloud computing" is more of an operating-system-level concept than a language concept.
Let's say you want to host an application on Amazon's EC2 cloud computing service -- you can develop it in any language you like, on any operating system supported by EC2 (several flavors of Linux, Solaris, and Windows), then install and run it "in the cloud" on one or more virtual machines, much as you would do on a dedicated physical server.
share|improve this answer answered
Jim Lewis18.2k
Ok, have always thinkt what clouds only use "languages-for-the-web". So wrong as I can have :)at 7:20
1
""Cloud computing" is more of an operating-system-level concept than a language concept." Not true in IMHO. "The cloud" is a bad term in general but leaving that a side you have cloud services such as Microsoft Azure, Google AppEngine and SalesForce AppForce with support for C#, VB.NET, Java, Python and Apex. Personally I would choose between either C# if you're a windows inclined person or Java. It all depends on what platforms you are targeting for hosting your code or what you are targeting for your end devices. – CosmosKey
1
@Jim Lewis: Not necessarily correct. You are talking about IAAS (infrastructure as a service). IAAS is not the only kind of cloud. In PAAS (platform as a service) language definitely matters. For example, you need Java for Elastic Beanstalk, C# (or other .NET languages) for Azure and Ruby for Engine Yard. Sometimes PAAS providers support multiple languages, but there is usually a main language/framework/platform. – stepanian Mar 19 '12 at 8:18
One should not say '"Cloud computing" is more of an operatin-system-level concept '. Please refer i) NIST (Cloud Computing - National Institute of Standards and Technology) ii) what is cloud is also explained in Wikipedia/IBM tutorials/Amazon/Microsoft Azure sites Understanding of SPI model( SaaS, Paas, IaaS, etc) is required to get clarity on Cloud Computing(simply called as 'cloud'). – Sree Rama Jan 23 at 5:01
add comment
up vot
e7down vote
Of the languages you mention Java, PHP, Python, Ruby, Perl are certainly more platform independent than C/C++ (and ASP.NET).
Lots of platform-specific differences also come from what libraries are available for a given platform.
In practice however, I think you will always develop on the same or at least very similar platform (operating system flavour) as the system where your code will run, i.e. the cloud will not take source code and compile it for you before running it.Personally I would go for Java or Python (probably also Ruby) as they have a vast number of libraries available for all kinds of tasks and are very platform independent.
share|improve this answer answered
Andre Holzner6,141
add commentup vot
e4down vote
As for what programming languages, any browser-based or server-based language is likely to be used. Javascript, PHP, ASP, AJAX, Perl, Java, SQL.
Let's say you need to implement a new programming language and BCL designed specifically for operating in the cloud (it won't be used on client machines ever). It should be optimized for cloud computing; easy to learn, fast, efficient, powerful, modern.
The biggest way i’ve seen cloud hosting products help out developers is the ability to launch and increase the size of a server, without having any kind of delay. Developers are able to create the application in a completely customized environment, and then expand it into a production machine with a significant hassle. If things don’t work as wanted, they can then destroy that machine with relative ease.
Most of the Cloud Computing Providers used JAVA and C-Sharp, to make cloud server.
share|improve this answer answered
john
4112 Well, AJAX is not a language... – Ottavio Campana Nov 22 '12 at 8:04
add commentup vot
e3down vote
That is a very interesting question.
On the Lang.Next conference there was a very interesting discussion about this topic, in which authors of several programming languages participate (Scala, Dart, C#). There was not a clear consensus at the end, but from my point of view there is one message:The ideal language for this "cloud age" should be object oriented (because that is how we understand and are able to model the world) and also embrace functional programming.
The code in "cloud age" is almost always distributed: running on several cores/machines (in the cloud center) or just the client/server separation. And it is also asynchronous. We do not block the code when waiting for WS response. The callbacks come in any time.
When using standard imperative programming languages, handling the asynchrony and the distribution really complicated. You have to always take care of the "current state" and when the callbacks come in, you have to decide what to do, in dependences of this state.
Functional programming helps to eliminate the "state" and is much better suited for this new situation.
So I would say: In cloud computing the code is distributed, state-less, asynchronous. Functional programming can help you with that. Object oriented is almost a must to be able to model the world.
I have wrote a blog post about it, if you are interested. I like C#, but actually I would say Scala, Clojure, F# might fit even better.On the other hand C++ will always be there, and lately is being modernized and getting more attention.
share|improve this answer answered
hoonzis516
add commentup vot
e1down vote
Your question is a bit vague about what you are actually thinking about doing. "Cloud computing" can mean almost anything. If you're looking for languages with specific cloud computing advantages, Java has several because it's a compiled language that compiles to operating-system independent byte code.
I also chime in with the others about C++ being a low-level language. Yes, it is. But you're
always going to have more than just the C++ language. If you separate both Java and C++ from the classes that come with them, Java and C++ are extremely similar. You have to adopt some rigid criterion like "pointers = low-level, garbage collection = high-level" to make the distinction stick. (And, of course, you can make pointers smart and invisible in C++ and you can use garbage collection in C++ too if you want to.)
share|improve this answer answered
David Schwartz68.8k
add commentup vot
e1down vote
Depends on which "cloud" you would want to use. If it is Google App Engine, you can use Java or Python. Groovy too is supported on Google App Engine which runs on jvm. If you are going with Amazon, you can pretty much install any OS (Amazon Machine Images) you would like with any application server and use any language depending on the application servers support for the language. But doing something like that would mean a lot of technical understanding of scalability concepts. Some of the services might be provided off the shelf like DB services, storage etc. I heard about ruby and Heroku (another cloud application platform). But dont have experience with it.
Personally I prefer Java/Groovy for such things because of the vast libraries and tools available.
share|improve this answer answered
Kalyan6817
add commentup vot
e1down vote
This is always fascinating. I am not a cloud developer, but based on my research there is nothing significantly different than what many of us have been doing off and on for decades. The server is platform specific. If you want to write platform agnostic code for your server that is fine, but unnecessary based on whoever your cloud server provider is. I think the biggest difference I've seen so far is the concept of providing a large set of services for the front end client to process. the front end, I'm assuming is predominantly web or web app development. As most browsers can handle LAMP vs Microsoft stack well enough, then you are still back to whatever your flavor of the month is. The only difference I truly am seeing from what I did 20 years ago in a highly distributed network environment are higher level protocol (HTTP vs. TCP/UDP). Maybe I am wrong and would welcome the education, but then again I've been doing this a long time and still have not seen anything I would
consider revolutionary or significantly different, though languages like Java, C#, Python, Ruby, etc are significantly simpler to program in which is a mixed bag as the bar is lowered for those are are not familiar with writing optimized code. PAAS and SAAS to me seem to be some of the keys in the new technology, but been doing some of this to off and on for 20 years :)
share|improve this answer answered
Greg B111
add commentup vot
e0down vote
Obviously there is no "better" -- or more worth learning -- language at all. Which language you use is is just a matter of what you like AND what your server supports. You should not learn a language that wouldn't be supported by any server or is said to be dying in the near future. On the other hand it is obvious too that there will be even better languages in the future and that those will be more useful. So learn one that is fast, convenient and that you like and where learning it wouldn't be a too big effort because, as said, you're likely to change in less than 3 years.
I, personally would be considering an "open-source" (not proprietary) one, because the web is open to everyone and open-source is more likely to be supported by every-one. (Which means PHP in this case)
share|improve this answer answered
MrRap112
add comment
up vote-5down
vote
You Should learn COBOL and RPG. When the whole world had gone to the Cloud (literally -- the whole CORE IT support team has vanished) who is going to maintain the billion lines of proprietary codes that process zillions of daily transactions for banks, utility and government entity? Long live the infamous green screen. We'll see you on the cloud.
share|improve this answer answered
Poor Uncle
51 This sounds more like a rant about the state of modern computing than an answer. – jadarnel27
@jadarnel27 You missunderstood my answer. It's really not a rant. When all the current I.T. staff are gone, billion lines of COBOL and RPG proprietary codes will still be around..and someone still needs to maintain them.19 '12 at 20:33
add commentNot the answer you're looking for? Browse other questions tagged cloud or ask your own question.asked 3 years agoviewed 41487 timesactive 1 year ago
Related
41Why would you not want to use Cloud Computing
4What is cloud computing?
0thesis on cloud computing
1cloud computing with Python 3
2programming wrt cloud computing
1Generic Software Architecture of Cloud Computing Platforms
2resource for scheduling algorithms in cloud computing
1
Can we create Cloud server in single Pc (for a learning purpose)
0Required cloud solution to synchronize Desktop database
0how to implement Java program in cloud computing??I
Hot Network Questions Why does the Weasleys' clock have a dentist setting? Can one insure a home's AC unit? Iterating over all features in featureclass to intersect them individually with polygon using
ArcPy? Alternate picking vs down picking Why should a (physical) principle be applicable to different systems in different positions in
space and time? Must I reference resources for definitions I express with my own words? How can i discourage employees from working voluntary overtime? PhD in Europe without scholarship from non-European homeland What are some considerations before moving personal data to Google Drive? Is there a good way to say "as a side note", "as an aside" in a conversation? Fractional exponents - adding the exponent? smooth quotient out of a singular variety? How can metals like magnesium and sodium burn underwater? Why did a creeper start to explode and suddenly stop? Best python library for neural networks Having problems within development team re approach problem with "crop circles" in tikz knot library Basic timer from one minute to 0 Dealing with multiple licenses Will Playing a Guitar Through a Bass Set-Up Damage the Amplifier and/or Speaker? Do verb tenses have to remain absolutely consistent through a piece of writing? Why do people lose in chess? Straighten bezier curve? What permissions do I need to write to a card reader?
tour help badges blog chat data legal privacy policy work here advertising info mobile contact
us feedback
TECHNOLOGY LIFE / ARTS CULTURE / RECREATI
SCIENCE OTHER
ON
Stack OverflowServer Fault Super User Web ApplicationsAsk Ubuntu Webmasters Game DevelopmentTeX - LaTeX
Programmers Unix & Linux Ask Different (Apple)WordPress DevelopmentGeographic Information SystemsElectrical EngineeringAndroid EnthusiastsInformation Security
Database AdministratorsDrupal AnswersSharePoint User ExperienceMathematica more (14)
Photography Science Fiction & FantasyGraphic DesignSeasoned Advice (cooking)Home ImprovementPersonal Finance & MoneyAcademia more (10)
English Language & UsageSkeptics Mi Yodeya (Judaism)Travel Christianity Arqade (gaming)Bicycles Role-playing Gamesmore (21)
Mathematics Cross Validated (stats)Theoretical Computer SciencePhysics MathOverflow more (7)
Stack AppsMeta Stack ExchangeArea 51 Stack Overflow Careers
site design / logo © 2014 stack exchange inc; user contributions licensed under cc by-sa 3.0 with attribution requiredrev 2014.7.3.1691