PDA

View Full Version : Needs Guidance as a Beginner



shackled_boY
April 25th, 2009, 02:47 AM
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 with all respect in advance to the contributors of this very topic.

shadylookin
April 25th, 2009, 03:25 AM
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.

html isn't really helpful since it's just markup language



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?

you would probably do it in c or c++ though there are other alternatives



I have attempted to try and learn Perl for a while and it seemed quite hassle-free and easier to learn then Java.

well java is more like c++ so it might be more useful to learn as a starting language if you're truly interested in OS development



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).

C or C++ is your best bet since most applications are written in either one or the other. However they're harder and not as forgiving as most other high level languages.



Many thanks with all respect in advance to the contributors of this very topic.

All that said I imagine the best thing to do is try learning java or python and once you get the concepts try C or C++. And you need to remember that you're going to have to take baby steps to get to kernel development it won't come overnight.

Kilon
April 25th, 2009, 08:45 AM
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 with all respect in advance to the contributors of this very topic.

Personally I learned all of them even though I never intended to write a Kernel.

I learned sorted by time I started them

Gwbasic -> Dbase -> Clipper -> C/C++ for dos -> C++ for windows -> Assembly -> delphi -> C# -> Java -> Jython -> Python


All of them were useful and taughted me something. I would say that I am most proficient at Delphi , C++ and Java. Now I am using python exclusively. Delphi was the one that invested the most.

My advice will be to learn at least C/C++ and Assembly, it will give you opportunity to use the tutorials easily and import libraries as those are the ones most used for OS development. But I will advice to learn also delphi and python. Python is very high level and will reduce the coding by many times, but is slow for cpu intense tasks. However it used in most intense CPU apps to reduce coding and becomes more popular every second.

Delphi on the other hand or freepascal, is both high level can also reduce the coding many times but also is as fast as C/C++ and assembly.

shackled_boY
April 25th, 2009, 01:17 PM
Greetings again.

Thank you both for your suggestible contribution to the topic. I had read about C++ in a Wikipedia article which mentioned its comprehensiveness to create operating systems, so I would probably try a shot with C++. Coming to Java, I understand the similarities between C++ and Java; assumably there are not vast indifferences between the two, but C++ is probably much more preferred instead of the latter one.

I know that Delphi is rather easy to learn because I know of amateur programmers who code functionate applications with Delphi. Since you have suggested a few programming languages to be learnt, would you be grateful to suggest a few programming languages that could be used to create websites?

I am totally satisfied with your first answers (replies) to this topic, thank you very much.

nvteighen
April 25th, 2009, 02:41 PM
Read the stickies for more information and plenty of resources.

I'd rather go for Python or other high-level language, not C++. Since your experience is HTML, you still need to learn how to program plus learning your first language... The first is a permanent skill you learn once (actually, you never finish off learning it ;)); the second is just to tame a certain tool to manage the first... and you'll be constantly learning new languages. The second relies on the first, but the first is learned through the second.

Python was designed for this. Of course, there are other alternatives... Ruby, Perl (besides its hard syntax), etc. C++ is a complex language, full of special issues and lots of elements you have to learn how to deal with. You'll harden your way on how to learn to program. Use a simple (but decent not QBASIC) language to get that first and then you'll be able to program in whatever language you want to use.

About kernels: it's a very hard topic. Linux, BSD and Unix-like systems are written in C. C++ is a possible language too (IIRC, Windows used it in the pre-Win95 era... not sure what they use now, surely a mix). But you always need Assembly for this, so write that down in your "To do" list :)

cmay
April 25th, 2009, 03:03 PM
http://www.osdev.org/
you could maybe use this link for further reading.

shackled_boY
April 25th, 2009, 05:58 PM
Thank you again guys. From my perspective, the problem is solved. I would like to kindly ask the moderators to attribute this thread a "solved" pane. I really appreciate all the labor power or more precisely the extremely helpful suggestions made by the Ubuntu Forum users.

Once again the Ubuntu society has put their effort in helping a user in need. This was not the first and probably would not be the last; I am totally honest in what I have written and not out of arrogance towards anybody or in a self-centered boastful manner. I truly believe you guys are the most helpful forum out there.

I vow hereby that you will all be praised! I look forward to help others like how I received help by starting this topic; there maybe newbies out there in need of relative support.

Sockerdrickan
April 25th, 2009, 06:37 PM
You set the thread as solved in Thread tools

shackled_boY
April 25th, 2009, 06:57 PM
You set the thread as solved in Thread tools

There is not an option to do so. Can you please instruct me in doing this?

simeon87
April 25th, 2009, 07:16 PM
There is not an option to do so. Can you please instruct me in doing this?

It's not there, it has been disabled some time ago.

CptPicard
April 25th, 2009, 10:36 PM
Overtly eloquent noob is overtly eloquent... :) long story short, you really just need to learn to program to begin with before you can even consider what you plan on doing.

I really do not quite even feel like answering your extended question yet, but in the long term, you will learn C for the "kernel development" you're not yet even likely to do, but I certainly wish you luck.

Intriguingly, a lot of higher-level languages will both be easier to get started with an to be more insight-generating in the long run. C just happens to be a technical issue if you specifically want to work with the hardware or the specifics of low-level compilation.

me.translucent
April 26th, 2009, 07:31 AM
well i am a noob too .. with the only diff that i know a lil but of java and am thinking if i can use this knoledge somewhere in ubuntu devlopment .. can u suggest me something ?

Kilon
April 26th, 2009, 08:30 PM
Since you have suggested a few programming languages to be learnt, would you be grateful to suggest a few programming languages that could be used to create websites?



You are very welcomed.

For websites ...

Well if you do decide to go with python, I heard that Python and Django are "license to kill" combination.

PHP is the standard language for net , html and javasript obviously are very popular.

The bottom line is that if you learn the basics of programming , it will be very easy to jump around as most languages share alot of similarities. Of course perfection is in the details ;)