LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 11-23-2010, 03:16 PM   #1
Ubunoob001
Member
 
Registered: Feb 2010
Location: New Orleans, LA
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166

Rep: Reputation: 17
Smile linux/programming newbie: languages to learn for dynamic (data fetching) website design?


So a friend and I are new-ish to linux (I am reasonably comfortable with basic /etc text editing, command admin). We are, however, completely new to programming and (x)html.

We have a few (what we think are) interesting ideas for dynamic websites.

Ideally we would like to develop our own course of study to get to the point where we have a basic understanding of programming so that our adventures in the programming of a dynamic website would be possible.

Much of what we need learn to do is the following: use daily updated public-domain data from several other sites, manipulate that data algorithmically, which would then yield updating output on our site.


Here is what I would like to do:
1. learn the basics of programming with a language that would teach good code habits and fundamental understanding.
2. become comfortable with (x)html
3. learn another language for the extension of (x)html into a dynamic data-heavy website.

Question could you please suggest a way about going about 1>2>3?

note: Ideally the language of (1) would be something that would not be "wasted" just on web design etc. As a language, C really appeals to me. However, if learning this wouldn't lend itself to being helpful in learning another language for webdesign maybe I shouldn't use it(?).
If (1) weren't to be C, what language would be funadmental enough to teach good coding but also be helpful in learning (3)

Last edited by Ubunoob001; 11-23-2010 at 03:29 PM. Reason: title change
 
Old 11-23-2010, 04:54 PM   #2
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,225

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
good code habits
Java with an MVC framework (Struts, Spring MVC, etc) for the backend. Strict XHTML 1.0 for the frontend.

There aren't many other web development languages that fits this criterion.

Last edited by dugan; 11-23-2010 at 04:57 PM.
 
Old 11-23-2010, 07:19 PM   #3
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
I don't recall having seen a language that in itself will teach "good code habits", although there are a few that do an admirable job, Pascal heads my personal list. If you are interested in learning the fundamentals of programing then most popular languages would help with that goal; then once you have selected the language you wish to concentrate on find yourself a good book, secondhand books on amazon are normally quite affordable.

Language suggestions that are popular with web development, in a personal order of preference:
  • PHP
  • Ruby
  • Perl
  • Python
  • Java

With all of these languages they have libraries or frameworks that help to structure the development of a web project, but for an initial learning exercise I'd suggest that you use the bare bones of the language whilst doing some research in these libraries to give you time to decide which additional tools would best meet your needs.
 
Old 11-24-2010, 08:43 PM   #4
Ubunoob001
Member
 
Registered: Feb 2010
Location: New Orleans, LA
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166

Original Poster
Rep: Reputation: 17
Smile

Quote:
Originally Posted by graemef View Post
I don't recall having seen a language that in itself will teach "good code habits", although there are a few that do an admirable job, Pascal heads my personal list. If you are interested in learning the fundamentals of programing then most popular languages would help with that goal; then once you have selected the language you wish to concentrate on find yourself a good book, secondhand books on amazon are normally quite affordable.

Language suggestions that are popular with web development, in a personal order of preference:
  • PHP
  • Ruby
  • Perl
  • Python
  • Java

With all of these languages they have libraries or frameworks that help to structure the development of a web project, but for an initial learning exercise I'd suggest that you use the bare bones of the language whilst doing some research in these libraries to give you time to decide which additional tools would best meet your needs.
Very helpful thanks! Indeed, since we are new to programming (completely!) and have a rather ambitious project in mind, learning the bare-bones of programming is something we would like to do, rather than learning specific tasks and then not being able to extend into other languages.

Can something like the languages listed above be used to
1. fetch data from site X,Y,Z
2. manipulate data D(x,y,z) into A
3. send A to an updating index.(x)html ?

Or will many other languages/programs need to be used to aid in such?

Thanks again for helping a total newbie

edit: personal order preference (in your post above) aside, do you think that since I am new to programming and Python can be used for so much, in addition to web programming, that this might be a good choice?

Last edited by Ubunoob001; 11-24-2010 at 08:46 PM.
 
Old 11-24-2010, 09:39 PM   #5
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
All of the languages I've mentioned should be able to do what you want. The fetching of data from a remote site might be incorporated as a function with the language, if not you could use a system call in conjunction with wget. The other two certainly.

With your thoughts on using Python, sure go for it. I've tried Python myself and not liked it but at the moment I'm doing some work on an opensource project that uses Python and you should be able to do everything you want with it. Python has some modules that you can use to get web pages see httplib (assuming the data is on http)
 
1 members found this post helpful.
Old 11-24-2010, 09:53 PM   #6
Ubunoob001
Member
 
Registered: Feb 2010
Location: New Orleans, LA
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166

Original Poster
Rep: Reputation: 17
Smile

Quote:
Originally Posted by graemef View Post
All of the languages I've mentioned should be able to do what you want. The fetching of data from a remote site might be incorporated as a function with the language, if not you could use a system call in conjunction with wget. The other two certainly.

With your thoughts on using Python, sure go for it. I've tried Python myself and not liked it but at the moment I'm doing some work on an opensource project that uses Python and you should be able to do everything you want with it. Python has some modules that you can use to get web pages see httplib (assuming the data is on http)
graemef, thank you SO much for your help and suggestions. I lean only towards Python in that it may do what I want, plus, from what I can tell, the documentation is great.
 
Old 11-24-2010, 10:24 PM   #7
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940

Well, I have worked with PHP before and found it to be very easy to use, it has an enormous amount of documentation! I think that'll be a good starting point.
 
Old 11-24-2010, 10:34 PM   #8
Ubunoob001
Member
 
Registered: Feb 2010
Location: New Orleans, LA
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166

Original Poster
Rep: Reputation: 17
Smile

Quote:
Originally Posted by anishakaul View Post

Well, I have worked with PHP before and found it to be very easy to use, it has an enormous amount of documentation! I think that'll be a good starting point.
Yeah it seems like: PHP, Ruby, and Python seem to be the main suggestions. So given these three choices, let me ask a follow-up (2) questions prior to marking as "solved"

1. which of these three would be most helpful beyond the project I am working on as stated in orig.post? Ideally id like to learn a language that can help me with this project AND be a good first language that could be powerful and helpful in learning other languages.
2. for the project at hand, why would any one of the three have a strength over the other?
 
Old 11-24-2010, 10:45 PM   #9
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940
PHP:
  • PHP is a typeless language, which makes it very easy to use and hard to debug.
  • Debuggers for PHP come with a license.
  • A combination of PHP and MySql is *often* used in website creation in real life. I have not heard *much* about Ruby and Python being used the same way.

Last edited by Aquarius_Girl; 11-24-2010 at 11:07 PM.
 
Old 11-24-2010, 10:50 PM   #10
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940
And I would suggest you to search Google with the following keywords:
Quote:
Advantages of PHP web design
 
Old 11-24-2010, 11:03 PM   #11
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,225

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
Originally Posted by anishakaul View Post
A combination of PHP and MySql is often used in website creation in real life. I have not heard much about Ruby and Python being used the same way.
I'm surprised you would say that.

Ruby on Rails is actually the model that most other web development frameworks are based on.

Last edited by dugan; 11-24-2010 at 11:09 PM.
 
Old 11-24-2010, 11:20 PM   #12
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940
Quote:
Originally Posted by dugan View Post
I'm surprised you would say that.
I just wrote what I knew, and thats what the forums are for -> learning from others

From this link : http://en.wikipedia.org/wiki/PHP
Quote:
Significant websites are written in PHP including the user-facing portion of Facebook,[38] Wikipedia (MediaWiki),[39] Digg,[40] Joomla, eZ Publish, WordPress,[41] Drupal [42] and Moodle.[43]
 
Old 11-24-2010, 11:39 PM   #13
Ubunoob001
Member
 
Registered: Feb 2010
Location: New Orleans, LA
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166

Original Poster
Rep: Reputation: 17
Lightbulb Python

In taking the advice of some kind posters here, and in doing some more research I think that Python will suit my needs rather well.

1. It seems to be a good first language
2. It seems to be rather versatile and powerful (it will benefit me beyond just my current project)
3. And it seems that it can handle data for web development quite well.

I thank you all for you help and suggestions.

Solution: Python

Thread Marked As Solved.
 
Old 11-24-2010, 11:40 PM   #14
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,225

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
You don't need to quote Wikipedia to prove that PHP is popular .

Honestly, though, if you haven't heard of Ruby (and its Rails framework) being used to create websites, then it's worth spending 5 minutes to look into. It's famed for its ability to get websites up extremely quickly. It gives you database access classes (read: an object relational model, or ORM). It gives you a well thought-out model view controller structure. And it's easy to learn (there are a lot of crash-course videos). As it was one of the first web frameworks of its kind, it influenced the development of later ones. CakePHP, Grails, ASP.NET MVC, and the Django framework for Python are all either explicitly based on it, or coincidentally similar to it.

Here's a list of the larger websites written in Ruby:
http://rails100.pbworks.com/w/page/8...Alexa-Rankings

I hope I didn't come across as a Ruby fanboy, because I haven't personally used it .

Last edited by dugan; 11-24-2010 at 11:43 PM.
 
1 members found this post helpful.
Old 11-24-2010, 11:46 PM   #15
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940
Quote:
Originally Posted by dugan View Post
Honestly, though, if you haven't heard of Ruby (and its Rails framework) being used to create websites, then it's worth spending 5 minutes to look into. It's famed for its ability to get websites up extremely quickly. It gives you database access classes (read: an object relational model, or ORM). It gives you a well thought-out model view controller structure. And it's easy to learn (there are a lot of crash-course videos). As it was one of the first web frameworks of its kind, it influenced the development of later ones. CakePHP, Grails, ASP.NET MVC, and the Django framework for Python are all either explicitly based on it, or coincidentally similar to it.

Here's a list of the larger websites written in Ruby:
http://stackoverflow.com/questions/1...-in-production
Well, thanks for the insight, I hadn't heard of Ruby being used extensively for making websites. That was informative. But whenever I search the web with respect to such topics, I find PHP to be widely talked about, but I maybe wrong!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Your opinions of the best combination of programming languages to learn. pr_deltoid Programming 89 09-15-2010 03:00 AM
What programming language, languages to learn for linux. gimmee Programming 11 11-28-2006 07:30 PM
Is it possible to learn programming languages like python reading tutorials? cyto Programming 25 12-25-2004 08:40 PM
good programming languages to learn qennster Programming 13 05-22-2001 10:12 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:38 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration