Web development languages: really basic questions & which one for

some basic questions on how these compare and what is used together

Page 1 of 1

6 Replies - 999 Views - Last Post: 28 April 2010 - 04:00 PM

#1 appdevmental  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 25-April 10

Web development languages: really basic questions & which one for

Posted 25 April 2010 - 07:50 PM

I am looking forward to your replies, so feel free to scroll down and begin typing :)

If I was hoping to develop some web apps (essentially saas) in a few years, and I wanted to learn how to code them now, which would be the best language/framework to learn?
Originally I would have thought RoR, however looking into it a bit it seems there are some issues with scaling, and that Java might be better?

Also, it would be great if someone could help me understand how all the different aspects of web development/design work together.
e.g. Is Java comparable to ruby, or ruby on rails?
What is ruby as opposed to RoR?
How does Javascript, Ajax and PHP come into the mix when using RoR or Java? Used with them or as alternatives?
-----If I learnt RoR, would I still need to learn html and css?
Is java for frontend also?
If you use a CDN, do you need separate web hosting as well?

I have done a reasonable amount of research prior to this, however it is the pure basics of how everything fits together that I haven't been able to find.
The 'Introduction to web development' from tip-kit (can't post urls) gave me a bit of an idea.
Also, I have built a basic website using css and html before, and coded applications in vb6 and some small objective-C apps.

Is This A Good Question/Topic? 0
  • +

Replies To: Web development languages: really basic questions & which one for

#2 Lemur  Icon User is offline

  • Pragmatism over Dogma
  • member icon



Reputation: 1335
  • View blog
  • Posts: 3,400
  • Joined: 28-November 09

Re: Web development languages: really basic questions & which one for

Posted 25 April 2010 - 08:19 PM

ExtJS for sure. CodeIgniter for PHP. Personally I would go with PHP based on popularity but RoR is gaining some serious momentum as of recently. I have little experience outside of php so I'll let someone else take the java ruby issue.
Was This Post Helpful? 1
  • +
  • -

#3 Skaggles  Icon User is offline

  • THE PEN IS MIGHTIER
  • member icon





Reputation: 251
  • View blog
  • Posts: 640
  • Joined: 01-March 09

Re: Web development languages: really basic questions & which one for

Posted 25 April 2010 - 08:20 PM

  • Rails is not a language, but a framework that allows web development using Ruby syntax.
  • Yes, you'll have to learn CSS and HTML when doing any type of web development.
  • Rails and PHP are both server-side where as Java is client-side since it requires the installation of Java runtime files.
  • Rails is actually very easy to scale and it's one of it's features.
  • Javascript and AJAX are basically both Javascript.


Edited for bullets!

This post has been edited by Skaggles: 25 April 2010 - 08:26 PM

Was This Post Helpful? 1
  • +
  • -

#4 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Web development languages: really basic questions & which one for

Posted 26 April 2010 - 09:38 AM

Already answered. Thanks for dumping your question and not acknowledging the answers. Instead, you just spam the same question elsewhere, without reflecting on the information provided.

EDIT: Question spammed on a bunch of other forums too.

This post has been edited by Oler1s: 26 April 2010 - 09:40 AM

Was This Post Helpful? 0
  • +
  • -

#5 appdevmental  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 25-April 10

Re: Web development languages: really basic questions & which one for

Posted 27 April 2010 - 10:58 PM

View PostLemur, on 25 April 2010 - 07:19 PM, said:

ExtJS for sure. CodeIgniter for PHP. Personally I would go with PHP based on popularity but RoR is gaining some serious momentum as of recently. I have little experience outside of php so I'll let someone else take the java ruby issue.

Thanks for that, I will be sure to check out those :) ExtJS is an alternative to a different framework like jquery or prototype?

View PostSkaggles, on 25 April 2010 - 07:20 PM, said:

  • Rails is not a language, but a framework that allows web development using Ruby syntax.
  • Yes, you'll have to learn CSS and HTML when doing any type of web development.
  • Rails and PHP are both server-side where as Java is client-side since it requires the installation of Java runtime files.
  • Rails is actually very easy to scale and it's one of it's features.
  • Javascript and AJAX are basically both Javascript.


Edited for bullets!

Thank you :) I shall start with css and html then :)
Oh okay that is interesting - does that mean if I built a web app using Java they would always have to have the JRE? If so - that is rather limiting.
Thanks for the reassurance on scaling too.
I have done a fair bit more looking into this, and the only things I am left wondering are:
Which should I learn after html/css - java/grails, ruby/ror, python/django, scala/lift - I think It is good because I can start out with the 'best' language rather than choosing a framework based on what I know. Obviously this is a hard question to answer - I know there is no 'best', however I would like to hear people weigh in on different aspects.
Is ruby on rails a front end or back end framework?

This post has been edited by appdevmental: 28 April 2010 - 03:07 AM

Was This Post Helpful? 0
  • +
  • -

#6 Craig328  Icon User is offline

  • I make this look good
  • member icon

Reputation: 1866
  • View blog
  • Posts: 3,391
  • Joined: 13-January 08

Re: Web development languages: really basic questions & which one for

Posted 28 April 2010 - 09:20 AM

It's apparent to me from your initial statement of "I was hoping to develop some web apps in a few years" that you're likely a student and this is probably an inquiry to help out on some assignment you've been given. If I err in those assumptions, my apologies.

There is no reasonable answer to "which would be the best language/framework to learn". Each language serves a different niche with quite a bit of overlap between some languages and no overlap whatsoever between others. However, from what little detail you have posted I can speak with reasonable confidence to a degree.

So, you said "web apps" and not "web pages" or some other less specific term. A web app is typically something that does "work" via the internet and may or may not look pretty depending upon the specs of the app and whether there will be any user interaction at all. That's right, there are some web apps that are purely machine to machine (think B2B and B2C backend data exchange systems) and so HTML, CSS and Javascript pretty much get entirely eliminated or greatly reduced in applicability as a result. However, the vast majority of what most folks would recognize as a web app are sites with shopping carts, survey sites, news aggregators...anything that tends to use, consume or offer dynamic data.

If they use data to drive the look, function or operation of their site then all the various web languages that can produce a web app (ASP, PHP, JSP, CF, Java, C, C#, C++, etc) use SQL to connect to a database to retrieve, store, update and delete information/data. So, no matter what language you choose to produce your app, you will almost certainly need to learn SQL to interact with the backend database that powers it.

If the app is something that a user will be able to bring up on a browser then HTML, Javascript and CSS are your new best friends. They will be the tools you will use to craft the layout, look, feel and somewhat the function of your UI (user interface). Get familiar with the document object model (DOM) so you can effectively manipulate the pieces on the browser as to where they reside, what they do and how to get them to do/look/act differently depending upon different sets of circumstances.

Finally, the language you select to build your web app often depends on myriad other considerations such as cost, scalability, maintenance, learning curve, time to launch, and to a lesser extent certain language specific capabilities your web app may need and cannot do without. All the languages mentioned earlier produce HTML as their output which is what the user's browser can consume and use. How they do so is what differentiates them from one another. They tend to be task specific (certain languages are suited to certain types of functions) but there is a tremendous degree of overlap amongst them as to common capabilities. So, in the end, it would depend on those considerations I mentioned above as to which language you choose. That is to say, you have a nail and a board...you CAN probably drive that nail with the screwdriver but you'd be better off using a hammer. If it's a screw, well the tool you use changes to meet the needs of the job at hand.

In addition to all that, you have frameworks which are used to codify your web app structure into something manageable (like Ruby). Some web apps do so many things that operating without a framework in place is possible...but not recommended.

Good luck with your efforts.

This post has been edited by Craig328: 28 April 2010 - 09:21 AM

Was This Post Helpful? 0
  • +
  • -

#7 appdevmental  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 25-April 10

Re: Web development languages: really basic questions & which one for

Posted 28 April 2010 - 04:00 PM

View PostCraig328, on 28 April 2010 - 08:20 AM, said:

It's apparent to me from your initial statement of "I was hoping to develop some web apps in a few years" that you're likely a student and this is probably an inquiry to help out on some assignment you've been given. If I err in those assumptions, my apologies.

There is no reasonable answer to "which would be the best language/framework to learn". Each language serves a different niche with quite a bit of overlap between some languages and no overlap whatsoever between others. However, from what little detail you have posted I can speak with reasonable confidence to a degree.

So, you said "web apps" and not "web pages" or some other less specific term. A web app is typically something that does "work" via the internet and may or may not look pretty depending upon the specs of the app and whether there will be any user interaction at all. That's right, there are some web apps that are purely machine to machine (think B2B and B2C backend data exchange systems) and so HTML, CSS and Javascript pretty much get entirely eliminated or greatly reduced in applicability as a result. However, the vast majority of what most folks would recognize as a web app are sites with shopping carts, survey sites, news aggregators...anything that tends to use, consume or offer dynamic data.

If they use data to drive the look, function or operation of their site then all the various web languages that can produce a web app (ASP, PHP, JSP, CF, Java, C, C#, C++, etc) use SQL to connect to a database to retrieve, store, update and delete information/data. So, no matter what language you choose to produce your app, you will almost certainly need to learn SQL to interact with the backend database that powers it.

If the app is something that a user will be able to bring up on a browser then HTML, Javascript and CSS are your new best friends. They will be the tools you will use to craft the layout, look, feel and somewhat the function of your UI (user interface). Get familiar with the document object model (DOM) so you can effectively manipulate the pieces on the browser as to where they reside, what they do and how to get them to do/look/act differently depending upon different sets of circumstances.

Finally, the language you select to build your web app often depends on myriad other considerations such as cost, scalability, maintenance, learning curve, time to launch, and to a lesser extent certain language specific capabilities your web app may need and cannot do without. All the languages mentioned earlier produce HTML as their output which is what the user's browser can consume and use. How they do so is what differentiates them from one another. They tend to be task specific (certain languages are suited to certain types of functions) but there is a tremendous degree of overlap amongst them as to common capabilities. So, in the end, it would depend on those considerations I mentioned above as to which language you choose. That is to say, you have a nail and a board...you CAN probably drive that nail with the screwdriver but you'd be better off using a hammer. If it's a screw, well the tool you use changes to meet the needs of the job at hand.

In addition to all that, you have frameworks which are used to codify your web app structure into something manageable (like Ruby). Some web apps do so many things that operating without a framework in place is possible...but not recommended.

Good luck with your efforts.

Thanks for the response mate :)
While I am a student, this has no relation to any assignments, but you are forgiven :)
I have read through your response and it was very helpful, and yes you are right in the assumption that I am talking about web apps, rather than web sites - the terms I am using it are web apps similar to Basecamp, FreshBooks, Evernote etc.



I had asked this question on a few other forums, and I have summarised the responses below. If you have anything to add, please do:

Quote

Is Java comparable to ruby, or ruby on rails?

Java and Ruby are comparable as both are languages. Java is combiled, Ruby is scripted.
Rails is a web framework for Ruby.
Java equivalent to Rails = Spring MVC/Tiles framework or Struts/tiles, or Grails

Quote

Scaling issues with Ruby?

There will always be scaling issues, and this shouldn't be worried about at the start.
Rails can actually be very easy to scale as this is one if its features.
Plenty of popular apps built using Rails: Basecamp, GitHub.
Also, scalability issues will be addressed as the language develops - Java has been around for years of performance tuning.
Very interesting note: 'it is cheaper to build a scalable product with a fast development language like Ruby where you can add servers as you need them than it is to develop in a slower-to-code environment (e.g. arguable Java).'

Quote

What is ruby as opposed to RoR?

Rails is a backend web framework for Ruby, a general programming language.

Quote

How do Javascript, Ajax and PHP come into the mix with RoR or Java?

Ajax is Javascript - clientside. PHP is an alternative to RoR or Java.
AJAX allows you to make requests to the server (which would be handled with RoR, PHP, Java etc) and to receive data back from the server without refreshing the page.
PHP is a very similar language to Java.

Quote

If I learnt RoR, would I still need to learn HTML and CSS?

Definitely, along with Javascript - also, get familiar with the DOM.
Should I learn XML?
I should start with learning these languages before moving onto a backend language w/ framework.
Also, as I am looking to code web apps, not just sites, I should learn SQL.

Quote

Is Java for frontend also?

Yes? Java applets are client side and Javascript is client side.

Quote

If coding in java for a website, I assume that the JRE is not required on the client's computer?

Only for Java applets, which are essentially dead. Not for Java deployed on a server.

Quote

Is ruby on rails a front end or back end language framework?

Back end.

Quote

If you use a CDN, do you need separate web hosting as well?

Yes. CDN handles your content (images, css, js, views), then you will also have a db host/webhost (usually combined)
The webhost handles the Models (db handles) and the controllers.

Quote

Best language/framework to learn? [Note: Opinions reside below! Not purely factual!]

Look at the typing methods of each languages - strong/weak.
Differing syntaxes - verbose like VB, or short syntax.
Will depend on: cost, scalability, maintenance, learning curve, time to launch, language capabilities.

Cautions against Scala and Lift for a beginner - not mainstream enough.
+ for ExtJS.
PHP frameworks: CodeIgniter, CakePHP are good. Zend Framework is terrible. Hydrogen is a PHP toolkit. Frameworks often force you to comply with their methods of doing things, which can be good for a beginner.
PHP > RoR due to popularity - means highly supported, huge community support, easy to scale, however RoR is gaining momentum.
RoR: harder to find a reliable webhost that suppors Rails.
Python: most popular framework is Django, again harder to find a reliable host.
Java = cumbersome, complicated. Fast, scalable - however can be daunting to learn. You need to learn the language, as well as how to use it to manipulate web pages - before it becomes powerful you need to learn libraries like Struts, Spring, Hibernate, Log4j and XMLbeans.
Then you also need to to use Ant an Maven - and terminology such as EAR, WAR. More suited to massive operations for big corporations.

This post has been edited by appdevmental: 28 April 2010 - 04:08 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1