[SOLVED] linux/programming newbie: languages to learn for dynamic (data fetching) website design?
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166
Rep:
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
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.
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166
Original Poster
Rep:
Quote:
Originally Posted by graemef
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.
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)
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166
Original Poster
Rep:
Quote:
Originally Posted by graemef
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.
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.
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166
Original Poster
Rep:
Quote:
Originally Posted by anishakaul
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?
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.
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]
Distribution: Mint 16 RC, Elementary OS Luna, Crunchbang
Posts: 166
Original Poster
Rep:
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.
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.
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.
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!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.