Jump to content

How to get started... any advice?

I'm a highschool Junior and Computer Sci isn't offered at my school. What syntax should I start on? How to learn? (books, websites, trial and error, etc) Any advice is helpful, thanks!

Link to comment
Share on other sites

Link to post
Share on other sites

Depends on what you want to learn. Are you interested in anything particular?

Link to comment
Share on other sites

Link to post
Share on other sites

I want to focus on creating actual programs first, not web based. Would C be a good start for that?

Link to comment
Share on other sites

Link to post
Share on other sites

At my school if we take the computer classes we start with c#. It is easy to understand and works pretty well. Microsoft visual studios is a good program to start programming in c#

Link to comment
Share on other sites

Link to post
Share on other sites

I would personally skip over C and start learning C++. Even though they are similar to each other they require you to think differently.

As for a literature you need to seek for yourself, here is a requote with link to a possibly useful book.

 

 

I personally would recommend C++ All in one for Dummies. Might sound generic, but it is really good, trust me. Even though it was published in 2009, it is a really good resource and you could always update yourself with the latest from other sources. I read it myself and I love it. I will post the Amazon link to get the paper back or the ebook down below.
http://www.amazon.com/All-One-Desk-Reference-Dummies/dp/0470317353
Good luck!
- winny3141
Link to comment
Share on other sites

Link to post
Share on other sites

At my school if we take the computer classes we start with c#. It is easy to understand and works pretty well. Microsoft visual studios is a good program to start programming in c#

Or that. Mono (C#) is said to be the future of linux.

Link to comment
Share on other sites

Link to post
Share on other sites

I want to focus on creating actual programs first, not web based. Would C be a good start for that?

 

If you do start with C, I can recommend "The C Programming Language" by Brian W. Kernighan

and Dennis M. Ritchie (they're the guys who invented the language in its original form).

wiki link

Whether or not you wish to start with C depends a bit on what you wish to do. If you primarily

wish to satisfy your curiosity then C is actually not a bad choice. Its basics are relatively

easy to pick up actually since the language itself is not that complex (doing something with

it can become complex, but the basic language is not).

And learning C will not be wasted time (at least in my opinion) since many languages (including

C++) are very much similar to it. Once you have acquired the basics of C, you can apply that

knowledge to many other languages, of course with some changes and expansions (especially OOP).

It will also give you a pretty good feeling for "basic" stuff that many modern languages do

automatically for you (garbage collection, the typing system), so you will be able to gain quite

a good insight into how a program works on a more fundamental level. Only thing better suited

than C for that would be assembly languages. ;)

But how important such "basic" stuff is to you, only you can decide. And you can always

revisit C later once you've learned something else.

 

I would personally skip over C and start learning C++. Even though they are similar to each other they require you to think differently.

I learned C++ in Uni before doing some C on my own, and the one major thinking difference (for

me, at least) has been C++'s OOP capability. Other than that I have found them to be quite

similar in thought processes, except of course there's a lot of stuff that you have to do slightly

differently in C than you do it in C++ (but those slight differences can be quite important).

Anyway, C++ is certainly not a bad investment of your time either. I'm not a professional

programmer, but have had experiences with both. Once you've learned the basics of C++ you can

easily go back to C if you still want to.

The thing with C is that many programming languages have been inspired by it, so you can

encounter C-like syntax in many other places. And picking up another C-like language is

actually not that difficult once you've gained some practice in one, whether that first

one be C, C++ or something else inspired by C.

Alternatively, if you wish to go for something a bit more esoteric, like functional programming,

you could do something like Haskell.

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah it'll probably be C or C++, but I'll definitely check out those books.

Link to comment
Share on other sites

Link to post
Share on other sites

Or that. Mono (C#) is said to be the future of linux.

Really?

 Is Mono becoming a key player along Python? I faintly remember working with Mono. It was decent but I hopped back onto .Net.

Do you want to know what grinds my gears?
The old forum.

Link to comment
Share on other sites

Link to post
Share on other sites

You cannot start programming on your own and make it work correctly if you haven't got an idea, Just a simple one to get you started. Like in your life, Simple goals make the best results. 

 

Good luck 

Link to comment
Share on other sites

Link to post
Share on other sites

Really?

 Is Mono becoming a key player along Python? I faintly remember working with Mono. It was decent but I hopped back onto .Net.

That's what Phoronix said few months back.

Link to comment
Share on other sites

Link to post
Share on other sites

Teddybear, on 06 May 2013 - 07:22 AM, said:

That's what Phoronix said few months back.

TBH though, even though they often provide some very valuable insight and do some

nice testing nobody else does, their predictions and conjectures are not always

exactly spot on. ;)

I'm not saying they're necessarily wrong, but how many tech predictions have been

made in humanity's history and how many of them have been right? That percentage

is probably not too high I would wager. :lol:

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Or that. Mono (C#) is said to be the future of linux.

 

 

Really?

 Is Mono becoming a key player along Python? I faintly remember working with Mono. It was decent but I hopped back onto .Net.

 

Mono is a .NET framework implementation for Linux. With it you can develop programs in any language supported by .NET and it should run in any platform that has the .NET framework installed. At least this is true for the languages whose compilers produce the Common Intermediate Language that runs on top of the Common Language Runtime.

This provides portability between these platforms. Thus, developing in .NET or in Mono should be the same thing and in fact this can lead to an increasing number of applications being created for both Windows, Linux and Mac.

 

Is it the future of Linux? Hard to say what the consequences of Mono will be. I hardly believe it will affect the kernel or even the design philosophy of Linux. It may boost the amount of apps available and, perhaps, the willingness of people to move to Linux if the tools they know from Windows are available. But probably Windows will somehow make sure that does not happen!

Link to comment
Share on other sites

Link to post
Share on other sites

I think I've tried to run one or two Mono applications under Linux so far, and in both

cases, the implementation was rather unstable and buggy. I'm not sure if that's due to

Mono not being mature enough yet, or if the fault was with the applications, or a combination

of the two. That was last year though, things might already have changed by now.

But it would certainly be nice to have more Windows applications available on Linux,

especially some top tier audio and video suites, and Photoshop (although for my own

needs, Gimp is more than sufficient, I could never even come close to exploiting its

potential).

As for kernel, drivers and such, as long as Torvalds has any say in it, that will probably

be C, and pretty much C only (with some Assembly). I've seen enough interviews with him

going into tirades about other languages than C ("Java, what a horrible language","C++

breeds bad programmers" or something like that) to believe otherwise. :lol:

BUILD LOGS: HELIOS - Latest Update: 2015-SEP-06 ::: ZEUS - BOTW 2013-JUN-28 ::: APOLLO - Complete: 2014-MAY-10
OTHER STUFF: Cable Lacing Tutorial ::: What Is ZFS? ::: mincss Primer ::: LSI RAID Card Flashing Tutorial
FORUM INFO: Community Standards ::: The Moderating Team ::: 10TB+ Storage Showoff Topic

Link to comment
Share on other sites

Link to post
Share on other sites

Is it the future of Linux? Hard to say what the consequences of Mono will be. I hardly believe it will affect the kernel or even the design philosophy of Linux. It may boost the amount of apps available and, perhaps, the willingness of people to move to Linux if the tools they know from Windows are available. But probably Windows will somehow make sure that does not happen!

 

Just leaving this for you to read: http://article.gmane.org/gmane.comp.version-control.git/57918

 

The kernel will probably never be anything than C.

 

.NET will never get all the users, as it is not suited for all tasks, so there will always be room for other languages. However it is gaining popularity, so expect to see more people using it for applications for Linux. Mono is already quite popular on Android and iOS with Xamarin.Android and Xamarin.iOS, which I use at work. Xamarin also has a version for Mac. So since the three major platforms are covered with C# and .NET it is a good choice to learn it.

 

However starting almost any OOP language or Functional programming language will get you somewhere, the hardest part I believe is sticking to it and keep learning. When you get stuck StackOverflow is a good place to ask specific questions.

Link to comment
Share on other sites

Link to post
Share on other sites

Just leaving this for you to read: http://article.gmane.org/gmane.comp.version-control.git/57918

 

The kernel will probably never be anything than C.

 

.NET will never get all the users, as it is not suited for all tasks, so there will always be room for other languages. However it is gaining popularity, so expect to see more people using it for applications for Linux. 

 

I was aware of Linus' stance on OOP (seen a video on Youtube where he expresses his opinion about Java and some other topic online, but that was an interesting read. Makes me wonder about all the magnificent abilities my OOP teacher preached in class!). I said "I hardly believe it will affect the kernel" because with computer science you never know what someone is doing right now on their computer! I have messed around with schedulers and file-systems in Operating Systems class enough to know that low-level stuff must be done with C. Lower than that only Assembly.

 

So there you go: if you want to develop an OS you can use Assembly and C, C++ for games or for apps as an intermediate language, Java and .NET languages for cross-platform and high-level apps.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×