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.
I always wanted to learn how to program mainly for creating dynamic Websites and Linux system administration and i might give desktop (GUI) apps a try when i am confident.
I searched a lot about how to learn about programming most threads in ubuntuforums talk about learning with python as a first language and i really like the language, but i really didn't want to learn a specific language i wanted to know about the whole process, so i decided to take one of these courses and i really don't know which is suitable for someone like me.
MIT 6.00 is an into to CS and they use python as the course's language but the assignments are really hard i can tell by looking at them :O
Stanford have an amazing series CS106A/B CS107 but the start with java and i heard that java is a complex language for a newbie.
Harvard's CS50 teach their first CS course in C and PHP and Javasciprt the course is really good and its the most up-to-date ( they renew the files every year) but its very intensive, time consuming one...
i really can't choose its a tough situation all of them are all good courses, please help me out here.
I always wanted to learn how to program mainly for creating dynamic Websites and Linux system administration and i might give desktop (GUI) apps a try when i am confident.
Modula-2 is very structured and easy to learn. If you're a good programmer in Modula-2, you can become a good C or Python programmer too. The reverse is not certain... C is a portable assembler. Not an easy choice to start out with.
The book I mention is more an introduction to Modula-2, but it contains theory and examples.
Thanks for the response, CS50 is great and i was going for it if no one answered me.
@fruttenboel
by looking at this http://www.modula2.org/tutor/chapter3.php Modula-2 is very similar to C like languages but i don't see the point why learn it, if i have access to a full Harvard course (a VM with a pre-configured GCC + psets + handout + video lectures).
plus, i would like to take the chance and report that all the mocka complier links you got on your website are ( Forbidden/dead ).
anyway, i really appreciate your reply and thank you.
EDIT: i found out that the GNU guys are have a compiler but its "still in development"... http://www.nongnu.org/gm2/
I always wanted to learn how to program mainly for creating dynamic Websites
...for dynamic websites, you probably want things like PHP, javascript (no relation), maybe python and java...but maybe you'd be better off learning a CMS rather than a language, per se. Oh, and obviously HTML and CSS. And, if you decide to go down the CMS route, that might push whatever is used in your CMS of choice up the list of priorities.
Quote:
and Linux system administration
...bash (or other shell), python, perl...ruby?
Quote:
and i might give desktop (GUI) apps a try
...c++, python, perl, c and, of course, some graphics toolkit
Quote:
I searched a lot about how to learn about programming most threads in ubuntuforums talk about learning with python as a first language and i really like the language,
Python is a good choice for a first language, as you can actually achieve stuff without getting too involved with nitty, gritty details and still learn. OTOH, Python isn't the best solution for everything, but nothing is.
Quote:
but i really didn't want to learn a specific language i wanted to know about the whole process, so i decided to take one of these courses and i really don't know which is suitable for someone like me.
My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.
I'm sure that it is possible to write decent programs in Java, it is just a shame that this option isn't more frequently exercised.
Quote:
i really can't choose its a tough situation all of them are all good courses, please help me out here.
To achieve your aims, you will end up learning more than one of the above. I think that you'll just have to get used to this idea.
It's the strangest statement about programming languages similarity I've ever heard. Modula-2 is a good language, and it's "light years" away from "C".
hello salasi, first of all thanks for your detailed reply.
on the CMS issue i really want to program websites and understand the front and back end processes if i am not wrong a cms like Drupal is point and click and make things easier and i am not looking for that...
Quote:
To achieve your aims, you will end up learning more than one of the above. I think that you'll just have to get used to this idea.
yes, i am aware of that CS50 will be just a first step, then i will take CS106B (C++ abstraction) then CS107.
i know there is no magical way to know everything in a short time... these courses will just be an eye opener to me.
@Sergei Steshenko
Quote:
It's the strangest statement about programming languages similarity I've ever heard. Modula-2 is a good language, and it's "light years" away from "C".
My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.
that's because it's what they teach at universities. universities churn out programmers.
most of whom will be doing it to get into 'I.T.', will have plagiarised most of their coursework,
will never have the knack, taught by lecturers who rarely read, let alone test
coursework code.
Then they leave college and start as a developer, as that's the first step to
get into project management.
My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.
I'm sure that it is possible to write decent programs in Java, it is just a shame that this option isn't more frequently exercised.
You're right, that's a good point. Of course, there's plenty more to criticize about it.
Here's my summary of the problem with java:
Programmers lose out, not only because they do not learn how to program by using java, but also because java as a language is not gonna help you get anywhere or get a job. Most companies ask if you know C/C++ or for web programming PHP, Perl, Javascript. Where does java fit in ? It doesn't, it's a fat, ugly, evil, bastard child that should never have been conceived, but it's too late, his daddy is a big wig and will make sure he gets noticed. The whole industry looses out, because you have these programmers fresh out of school, and they can't program worth a ****, nor make a useful program that people will use. I swear, every time I've downloaded a java program doing anything, hoping that it will work and will work well, I end up deleting it in less than 5 min. It's that bad. But, they keep pushing it, into every school, onto every programmer, everywhere. Well go ahead, but when everything goes to hell, know the cause.
by looking at this http://www.modula2.org/tutor/chapter3.php Modula-2 is very similar to C like languages but i don't see the point why learn it, if i have access to a full Harvard course (a VM with a pre-configured GCC + psets + handout + video lectures).
Suppose you want to become pilot of a space shuttle. Of course you can start out as a 4 year old studying the controls. Still,many people at age 4 will learn to ride a bicycle. At 18 they will learn motorvehicles. Later perhaps a plane. And then a rocket.
Why should you not start ouit with a language that teaches you the LOGIC and Contrl structures of a programming language? Many european universities teach Modula-2 in first year and then later (when the students know what programming is) give the opportunity to switch to a more dangerous language.
Quote:
plus, i would like to take the chance and report that all the mocka complier links you got on your website are ( Forbidden/dead ).
All of them? In that case your government is protecting you against yourself by blocking content. Some of the links listed in the Oberon section are dead (oberon2005.ru seems gone, just like some pages formerly hosted in the private webspace of Prof Wirth). I just checked the majority of links and they all run.
Quote:
EDIT: i found out that the GNU guys are have a compiler but its "still in development"... http://www.nongnu.org/gm2/
The Gnu M2 project sucks. You need one specific backdated version of gcc to get M2 working. The compiler is slower than BASIC on a Z80 machine. It's complete and utter crap. It's a shame to the name.
...Many european universities teach Modula-2 in first year and then later (when the students know what programming is) give the opportunity to switch to a more dangerous language.
...
Wise. By the way, IIRC, Modula-2 System module is dangerous - intentionally and by design - which makes Modula-2 a universal language, i.e. one can also program hardware in it.
And beginners are simply forbidden to use the module.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.