The Student Room Group

Scroll to see replies

Original post by TercioOfParma
I have a feeling I can help some people with issues starting and some of the more complicated issues with some languages. I know the following well:

Java
C (my main language)
HTML + CSS
JSON

I have some knowledge of the following languages but I am quite rusty

Python
C++


Ask me anything and I will give an answer, although I'd prefer not to get a ton of "what's wrong with my code" questions.


How hard are these languages to learn and which resources would you recommend?
I will rate them out of 5 for difficulty(5 being extremely difficult, 1 being trivial):

Java : 2.5/5 (relatively easy, no messing around with pointers or anything, although OOP can be a stumbling block)
C : 3/5 (harder to write than C, understanding pointers is quite difficult. However, it is quite a small language)
HTML+CSS: 1.5/5 (Memorising commands and placing them where you want basically for HTML, CSS governs some globals for HTML pages)
Python: 2.5/5 (easier to write than Java for an absolute beginner, although the tabulation can become VERY annoying)
JSON : 0.5/5 (You could learn it in under an hour, it is very very easy)
C++: 4/5 (They say its easier than C in the absolute beginning, although the language is massive so it takes a long time, and not all of the features are that intuitive)


As for resources, get a book. Code academy or Khan academy is fine, but books are almost always better.
Original post by TercioOfParma
I agree with all of those save for C++. C++ is orders of magnitude more complicated than C in simply how many new features there are, even if there is a lot of overlap. You are also quite limited in how many platforms you can develop for (you can kiss a lot of embedded systems goodbye if you use C++ for instance).


Yup, but for a noob, that's the biggest change. Ignoring the subtility for the askers sake aha. Many won't use the extra features.
Original post by donutellme
Yup, but for a noob, that's the biggest change. Ignoring the subtility for the askers sake aha. Many won't use the extra features.


Maybe, I still think references and smart pointers are quite big features for a newb though.
Original post by donutellme
If you wanted something more specific:

Java:
The code runs on something called a virtual machine. This allows you to use the same compiled code on any operating system (so long as the computer has Java). It's pretty general purpose, so you can do many things with it. It's also an object-oriented language, so you can do OOP on it (i.e. play around with classes n stuff).

C:
Old but gold. Good for dealing with low level things as it gives you control over pointers and allocation and the like. Otherwise pretty general, but can be tricky to learn.

HTML/CSS:
Not programming, just mark up and styling. For making web PAGES, and NOT websites. Websites the likes of which you are thinking of involve FAR more than just HTML, as HTML can't deal with complex logic etc.

JSON:
Not a language again... It's just a data format for storing and changing data.

Python:
My personal favourite. A high level language with a really simple syntax. General purpose again, but is good for scripting in particular and testing logic.

C++:
C meets OOP.


Cheers for this - so would you recommend python as an initial language to learn?
Original post by DontSweatIt
Cheers for this - so would you recommend python as an initial language to learn?


Python is good if you're new to programming. But be careful about types etc... might be good practice to look at C or java a bit as well so you car see how variables have types and to stick to them.
I have question: How much wood could a woodchuck chuck if a woodchuck could chuck wood?
Original post by CodeJack
I have question: How much wood could a woodchuck chuck if a woodchuck could chuck wood?


65536
Original post by TercioOfParma
I have a feeling I can help some people with issues starting and some of the more complicated issues with some languages. I know the following well:

Java
C (my main language)
HTML + CSS
JSON

I have some knowledge of the following languages but I am quite rusty

Python
C++


Ask me anything and I will give an answer, although I'd prefer not to get a ton of "what's wrong with my code" questions.
I thought you said you were a programmer...? :iiam:

I've been doing it since the late '90s, when (as a child) I got given an old Atari (1040STe, for those who know them). I taught myself BASIC like the previous generation.

My crowning achievement is getting to write code on a late 60s mini at the National Museum of Computing. I've got the paper tape somethere, I think...
Original post by Tootles
I thought you said you were a programmer...? :iiam:

I've been doing it since the late '90s, when (as a child) I got given an old Atari (1040STe, for those who know them). I taught myself BASIC like the previous generation.

My crowning achievement is getting to write code on a late 60s mini at the National Museum of Computing. I've got the paper tape somethere, I think...


Congrats. The first two are still languages, and the other are related I felt.
Original post by TercioOfParma
Congrats. The first two are still languages, and the other are related I felt.
HTML is a formatting language and JSON a scripting one; no self-respecting programmer would associate them with programming.
Original post by Tootles
HTML is a formatting language and JSON a scripting one; no self-respecting programmer would associate them with programming.


Well, they should be associated since you utilize them with programming language and they are worthless without it.
Original post by TercioOfParma
Well, they should be associated since you utilize them with programming language and they are worthless without it.
You might as well say the same about .ini files and CSV.
Original post by Tootles
You might as well say the same about .ini files and CSV.


CSVs and .inis don't have specific syntax, HTML and JSON do.
Original post by TercioOfParma
CSVs and .inis don't have specific syntax, HTML and JSON do.
Dialect :wink:

They're not programming languages. They aren't Turing-complete, you can't write software with them. lolcode - now that's a programming language.
Original post by Tootles
Dialect :wink:

They're not programming languages. They aren't Turing-complete, you can't write software with them. lolcode - now that's a programming language.


They aren't you're correct, but I would still associate the two.
Have you ever programmed anything that automates a piece of hardware, like robotics perhaps?
Reply 57
How did you actually begin to make things from your code, and how long did this take (from starting the language from scratch)?
I'd quite like to learn to code, I've done some online "courses" which show the basics but none actually explain how you would take these concepts in order to make an app for example. The ones for web design are fairly straight forward, however I cant understand how (from what little I've learnt online) it all links together in order to actually make something, such as an app, game, or whatever, anything that isn't just static text/images and links.
Original post by Afro Tail
Have you ever programmed anything that automates a piece of hardware, like robotics perhaps?


I did a little bit on a texas instruments board with an 8 bit processor, but nothing spectacular.

Original post by JN17
How did you actually begin to make things from your code, and how long did this take (from starting the language from scratch)?
I'd quite like to learn to code, I've done some online "courses" which show the basics but none actually explain how you would take these concepts in order to make an app for example. The ones for web design are fairly straight forward, however I cant understand how (from what little I've learnt online) it all links together in order to actually make something, such as an app, game, or whatever, anything that isn't just static text/images and links.


Depends what you want to make.
Reply 59
Original post by TercioOfParma

Depends what you want to make.

I suppose let's stick with the idea of applications, say for your phone you wanted to make a simple game, where would you even begin?

Latest

Trending

Trending