Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How can I learn programming'
#1
I've been wanting to learn programming for a while, but I just can't get to properly do it.

A bunch of you guys are experienced in this, so lemme ask:

What's a good language to start with? I'd prefer one that's easy yet useful.

Where can I learn and practice for free?

What could I work on to practice?

Thanks in advance.
Reply
#2
These are actually very controversial questions. For (1), many will recommend (usually one of) C++ or Java but there are also many who would strongly recommend against them. So I'd say there's no universal answer.

I haven't used Python but quite a few people say it's good and easy for beginners, and it's also a language that can be used at work as well, so it's still pretty good even when you're not a beginner. (Though probably not as widely used as Java in the industry)

I'm a huge fan of Java myself, but it may not be the easiest to begin with, what with its verbosity and being so OOP-based. Definitely doesn't mean you can't start with it, but may not be what people in general recommend the most. On the other hand, it's a very much used language whether for work or for making stuff (especially servers I guess), so it's a very useful language to know.

Java is also very similar to C# so that if you learn one you should be able to use the other with particularly little effort on transitioning. C# is used in Unity, so if you're interested in making games, learning C# (or Java first, then Unity C# because you might not want to start with Unity right away anyway) is a good idea too.

C++ is like a "classic" language so it's more neutral. It's a lower language program, so you are in charge of more, the computer doesn't do things automatically as much, so you may have to do more but at the same time you will be aware of what's going on to a greater extent. You get to deal with memory allocations and pointers.

People also say Basic languages are good for beginners but I don't think anyone uses those anymore. (I started with Visual Basic, sure enough it's pretty easy but looks a bit different than the other languages)

So the general consensus appears to be Python, but my own personal biased answer is Java. At least we can all agree that Javascript is not the language to start with.

The best IDEs may differ for each language, like Visual Studio is good for C languages and Eclipse is good for Java.

"Where can I learn and practice for free?"
"What could I work on to practice?"

This really depends on what you want to do or what you like. You can try making applications, games, websites, or do problems like I mentioned in the Competitive Programming thread. For all but the last one your just decide what you want to make then try to make it and search up for tutorials and/or references when you're stuck. For CP it's the same except you solve problems instead of make things.

In any case though (except for website building) you just start making simpler programs (Hello World program, a+b calculator, Guess My Number game) then move on to harder ones, preferably by slowly introducing new concepts like new variable types, data structures, start using functions...

For CP and Unity game development I know some good websites and tutorials respectively, other than that just search around on how to get started.

I'm surprised you decided to try learning programming now when you're getting power cuts.

Let me know when you've decided or tried anything!
I don't have a sicknature
YouTube (original music) | Newgrounds (games)
[-] The following 2 users say Thank You to Verdusk for this post:
  • Alice, Residays
Reply
#3
Lua’s a fun, sinple programming language. It’s been used in a handful of game creation tools. The people here know a lot more about programming than I do, so maybe not.
[-] The following 1 user says Thank You to Northadox for this post:
  • Residays
Reply
#4
i agree that lua is the simplest language to learn, followed closely by python (although you might find better online help using python). i think an untyped language (like the former 2) is best to start out, so not java or c#, definitely not c++. you can find countless tutorials for all languages on youtube
[Image: tumblr_nddxf2XzYY1tvf9p0o1_400.gif]
[-] The following 1 user says Thank You to heart for this post:
  • Residays
Reply
#5
You can script blocks with Lua in PR3 so welcome!
Remember check out my project! http://forums.acidch.at/showthread.php?tid=115

(2015-08-19 09:19:53)aaaaaa123456789 Wrote: My next username will be ax6'); DROP DATABASE; --

If you do enjoy minecraft content try out this: https://www.youtube.com/playlist?list=PL...o57OGMOdCU
[-] The following 2 users say Thank You to Joni for this post:
  • Northadox, Residays
Reply
#6
(2019-04-07 23:33:55)Joni Wrote: You can script blocks with Lua in PR3 so welcome!
no error messages though!
[Image: tumblr_nddxf2XzYY1tvf9p0o1_400.gif]
Reply
#7
Java sucks. It's bad at all levels, and despite people do use it, you'll do yourself a favour by leaving it alone for as long as you can.

As for the rest that has been mentioned here, Python is a good language for learners that can also be used to do some real work. There are websites like codecademy that help you learn, even.

C# is OK if you plan on writing Windows-only code. That's about as useful as it is. I'm well aware that .NET core is a thing now, but its main purpose seems to be testing Windows tools under Linux.

C++ is the result of someone going to the language feature shop and asking for two of each. It grew out of a nice, simple language (C), had some well-designed features (early class design, etc.), and then it became an abomination where there's three ways of doing everything, they are all incompatible with one another, and most of them require you to use unreadable template messes, redundant features, confusing syntax, or most commonly all of the above. Some people say there's a nice language subset within C++ — 25 years of usage have yet to find that subset. Unless you stick to plain old C, of course... if only plain old C was actually compatible with C++, because they failed at that, even.

Don't focus on IDEs. Code is text; learn to read it and write it as pure text. It's only a matter of time until you have to review some code using Notepad, GitHub's code viewer, or some other simple tool like that. It's okay to use IDEs once you get the hang of it (I don't, but I guess some people like their features!), but get used to dealing with text as text, because otherwise you will become extremely reliant on your IDE's features and write incomprehensible messes that can only be navigated through with an IDE (examples of this are huge functions, classes or code files that can only be understood by "folding" parts of the code, typos or misspellings in names that are spread throughout the entire codebase by virtue of autocompleting declared names, or simply the inability to properly indent and format code without the help of a tool that does it automatically).

Regarding style (it has to be brought up at some point), you'll see lots of guides for just about any language. Indent with two spaces, four spaces, one tab, eight spaces; use camel case, snake case, and so on; the list goes on and on. Use whatever style you prefer when you write code (there's no such thing as a language's preferred style, contrary to what many people have been misled to believe), but remember the golden rule: be consistent.

And finally, always remember that programming is a practical skill. You learn by reading code and writing code. That's the only way.
If you need to contact me for any reason, or if you have any questions, concerns, problems or requests, message me here or email me at aaaaaa123456789@acidch.at.

This forum has been around for (loading...)
[-] The following 2 users say Thank You to aaaaaa123456789 for this post:
  • heart, Residays
Reply
#8
Thanks guys! I'll check out Python later today.
Reply
#9
(2019-04-08 05:21:16)aaaaaa123456789 Wrote: Java sucks. It's bad at all levels, and despite people do use it, you'll do yourself a favour by leaving it alone for as long as you can.

Why the hate for Java? I first learned to program with Java, and it's the primary language used for the programming courses at my school.

Also I think Python is a good choice. And I can vouch for learning to program using Codeacademy.
(2016-04-09 18:31:49)dotime Wrote: clam down
(2016-06-18 07:38:26)aaaaaa123456789 Wrote: freegoose is as fake as a $6.50 bill.
(2016-09-12 20:58:52)akiue Wrote: just saying that that thing has a bit of a phallic resemblance.
[Image: x5vbxg.gif]
Reply
#10
(2019-04-08 05:21:16)aaaaaa123456789 Wrote: (there's no such thing as a language's preferred style, contrary to what many people have been misled to believe)
actually golang has a strict compiler-enforced style (opening curly brackets on the same line, Capital for public, lowercase for private etc...), the compiler assumes you're using this style to simplify the parsing, since go's whole schtick is it's supposed to be very simple.

it also won't compile if you've an unused variable Smile
[Image: tumblr_nddxf2XzYY1tvf9p0o1_400.gif]
Reply
#11
(2019-04-08 18:20:41)Milkmann Wrote:
(2019-04-08 05:21:16)aaaaaa123456789 Wrote: Java sucks. It's bad at all levels, and despite people do use it, you'll do yourself a favour by leaving it alone for as long as you can.

Why the hate for Java? I first learned to program with Java, and it's the primary language used for the programming courses at my school.

Also I think Python is a good choice. And I can vouch for learning to program using Codeacademy.

Because it's an abomination. It's poorly designed no matter how you look at it, and the only reason why it ever became popular was because it was hard to write portable code in other languages when Java came out — and it was hard to write code for Windows at all. (Have you seen any C/C++ for Windows that doesn't use a GUI library? You don't want to.) So there were a lot of Java devs because it was easier to learn on Windows platforms, and so Java devs became cheaper to hire, and business loves cheaper things.

The popularity for business led to schools and programming courses teaching it because people demand "practical skills" without having the faintest idea of what the term means. (It's the same excuse people use to claim learning math is useless.)

(2019-04-08 23:03:08)fish Wrote:
(2019-04-08 05:21:16)aaaaaa123456789 Wrote: (there's no such thing as a language's preferred style, contrary to what many people have been misled to believe)
actually golang has a strict compiler-enforced style (opening curly brackets on the same line, Capital for public, lowercase for private etc...), the compiler assumes you're using this style to simplify the parsing, since go's whole schtick is it's supposed to be very simple.

it also won't compile if you've an unused variable Smile

Leave it to new fancy languages to make stupid choices... and I thought that Rust's borrow checker took the prize.
If you need to contact me for any reason, or if you have any questions, concerns, problems or requests, message me here or email me at aaaaaa123456789@acidch.at.

This forum has been around for (loading...)
Reply
#12
Jesus Christ, don't start with Java and please don't recommend anyone else starts with it. I recommend starting with C, then when you're getting some decently coded programs running, you can start doing object orientated programming with C++. Don't just jump into OOP otherwise you're going to have a bad time.
[-] The following 1 user says Thank You to FinalCheetah for this post:
  • aaaaaa123456789
Reply
#13
(2019-04-09 10:14:12)FinalCheetah Wrote: Jesus Christ, don't start with Java and please don't recommend anyone else starts with it. I recommend starting with C, then when you're getting some decently coded programs running, you can start doing object orientated programming with C++. Don't just jump into OOP otherwise you're going to have a bad time.

The only reason why I don't recommend starting with C is because it's notoriously newbie-unfriendly. You can't have a powerful safe language (despite someone just has to try to make one every single year...); C chooses to be powerful sacrificing safety.

It's unbelievable, though, how experienced programmers complain over and over about C's lack of safety; you'd think people wouldn't need the training wheels after a few years...
If you need to contact me for any reason, or if you have any questions, concerns, problems or requests, message me here or email me at aaaaaa123456789@acidch.at.

This forum has been around for (loading...)
Reply
#14
(2019-04-09 21:25:20)aaaaaa123456789 Wrote:
(2019-04-09 10:14:12)FinalCheetah Wrote: Jesus Christ, don't start with Java and please don't recommend anyone else starts with it. I recommend starting with C, then when you're getting some decently coded programs running, you can start doing object orientated programming with C++. Don't just jump into OOP otherwise you're going to have a bad time.

The only reason why I don't recommend starting with C is because it's notoriously newbie-unfriendly. You can't have a powerful safe language (despite someone just has to try to make one every single year...); C chooses to be powerful sacrificing safety.
It does fulfill everything the OP asked for. As for the safety of it, I feel like failure is a good motivation for success. Otherwise he'll be wanting something like Pascal. I think he should learn the theory before actually writing code though otherwise he'll pick up some really bad and obnoxious programming habits.

(2019-04-09 21:25:20)aaaaaa123456789 Wrote: It's unbelievable, though, how experienced programmers complain over and over about C's lack of safety; you'd think people wouldn't need the training wheels after a few years...
winkwinknudgenudge
Reply




Users browsing this thread: 1 Guest(s)