|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| ||||||||||||||||||||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Needs Guidance as a Beginner
I believe I have some little experience with HTML as a start, but I cannot determine whether this will be useful or resourceful in learning a totally new programming language such as Delphi, Python, Perl, Java, C#/C++/C, PHP, Fortran, Eda, BASIC or equivalent.
In the future I would like to be able to design a perfectly working Kernel (OS) of my own. To design my own working operating system, which language would I be required to master? Shall it be a combination of a few from the above list I have written? Or may it be solely a C-based programming language? I have attempted to try and learn Perl for a while and it seemed quite hassle-free and easier to learn then Java. I do not know the exactitude of these programming languages' specific functions, so I would like somebody to helpfully suggest one that is extensive (that I could create both applications and OS). Many thanks in advance to the contributors of this very topic. |
|
#2
|
||||
|
||||
|
Are you trying to make a real OS or something that just acts like one?
Former: C. No contest. HTML isn't even close to what you need; Delphi, Python, Perl, Java, PHP, Fortran, Eda, and BASIC are horrible; C# is too much hassle; C++ is a poor choice. Latter: whatever language you want. |
|
#3
|
|||
|
|||
|
The below are my personal opinions. But then, you can hardly expect me to post somebody ELSE's personal opinions...
In terms of generally learning programming (without any specific goal like building your own kernel), I think the best thing to do is to learn a couple languages well (not HTML, that doesn't count), but then spread out as much as possible. Try to stay with 'open' languages - languages that are supported almost universally, commonly used, and open-sourced. They'll be the most useful and the most fun. You want to learn C/C++ (NOT C#), since they're very common. Learn them well. Then you might dabble with Java, Perl, Python, PHP (not BASIC). Maybe try some web-ish languages, like learning more HTML, some Javascript, CSS, XML/XSLT/DTD/XSD/GKWE(God Knows What Else). Pick two (C++ and another) and learn them well, but be familiar with the rest. Next: install linux on your computer. Now you're ready to start really playing around with OS building. You should have build up some experience with low-level C programming (pointers, etc..), and you should understand what is required. Start messing around with your kernel and recompiling. Start learning how it works. Then google to find out where to start if you want to make your own (try 'GeekOS'). Timeframe note: don't expect to be done next week. Learning the first few languages well takes years (although after that, you can learn Python in a couple of days). If you want to get into some nice, fun programming but don't want to wait 5 years, I'd recommend starting out with Web programming, like javascript (not PHP, which is server-side). ++ will come naturally later on, and it won't be quite so boring.
__________________
My job is not to google things for you. |
|
#4
|
||||
|
||||
|
Quote:
What's wrong with PHP? It can be easier to learn than JavaScript really, since there's no worry about making something work across browsers. |
|
#5
|
|||
|
|||
|
Its quicker to get results in javascript - there's less setup and it feels more direct. Besides, I'm biased: I started out on html/javascript.
|
|
#6
|
|||
|
|||
|
What makes you think Java and Perl are horrible? I would understand if you dismiss Fortran and Eda as they are for professional usage, but please tell me why you would not recommend learning Java, at least?
@ -Bytbox thank you for your suggestion of Javascript, I will look into that; as I am amazed with what Javascript can do! (I have seen examples of applets and such integrated objects in browsers). I know that for HTML most programs, to give examples both FrontPage and Dreamweaver are capable of producing or generating the codes (tags), but I would prefer to learn the syntax myself for further combinational implementations Javascript+HTML. Quote:
(1) I have Ubuntu 9.04 installed on dual boot mode on my Dell Inspiron laptop. I am able to run BackTrack 4 also using Sun VirtualBox; so I am equipped with the basics. (2) I am aware of this. (3) I can wait for ever, I really want to learn some programming that will take me to a "next" stage of conception and perception in the computing field. |
|
#7
|
||||||
|
||||||
|
Quote:
I would recommend learning java lots - I don't like it as much as C, but it is highly cross-platform and therefore great for stuff like network and fancy user interfaces. Perl is also useful - and widely supported. Quote:
Careful! Applets are java, not javascript. If you want to see what pure javascript can do, check out 'sproutcore' (google it). Also try 'scriptaculous'. Quote:
Good. Go to http://w3schools.com to start learning. Quote:
Good. Just a note of caution: HTML is not really a "programming language". Why? Because it is not "turing complete". Which means that you can't loop, you can't add things, you can't process user input. Javascript, however, is. CSS is not. Of course, they are all still "computer languages". |
|
#8
|
||||||
|
||||||
|
Quote:
Quote:
Quote:
Quote:
Reaching a higher stage means gathering a formidable amount of knowledge and experience. Expect a decade of experience before you really contemplate something like this. Half that if you're really committed. Less maybe depending on formal instruction.
__________________
When you ask a question, be prepared to tell us: what have you tried? If you think you don't need to try anything, we will never be interested in helping you. If you agree with the link, and you refuse to answer that question, you are being a hypocrite. Need help with broken code? Your question should be like a good bug report: (1) It has the smallest number of steps to reproduce the problem you see (2) It tells us precisely what you expected to see and (3) It tells us what you saw and how it differed from what you expected. We need all three to help you. Want better answers? Tell us what you Googled for and what steps you took to answer your own question. |
|
#9
|
|||
|
|||
|
With all due respect, saying you know HTML and want to write an O/S kernel is roughly equivalent to saying you know chopsticks on the piano but now you want to play Chopin.
First, you have to understand how to program: sequence, selection, and iteration at a minimum. You also have to understand the architecture of the CPU: registers and memory. That's just the tip of the iceberg: you'll then need to study comp/sci to learn about scheduling, IPC, kernel primitives, differences between monolithic and micro kernels, compiler architecture..... Learning to play Chopin properly takes years of study: learning to write an O/S also takes years of study. Last edited by MadDogBrown : April 26th, 2009 at 11:32 PM. |
![]() |
| Viewing: Dev Shed Forums > Other > Beginner Programming > Needs Guidance as a Beginner |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|