Learn to program or not yet

This forum is for anything that doesn't specifically have to do with Better Than Wolves
Post Reply
User avatar
Aduis1210
Posts: 104
Joined: Mon Nov 14, 2011 5:48 am
Location: England

Learn to program or not yet

Post by Aduis1210 »

Hey guys
im currently doing a open uni course to learn the magic of computers so far im learning about webpages and how binary works as well as html.
im wanting to learn to program to make mods games and small programs for myself
im hoping to learn java as a first language and my question is
do i start to learn now(is it hard to learn java)or do i wait for the course to finish and go for the java programming course the uni offers?

Thanks guys
Aduis1210
User avatar
gftweek
Posts: 674
Joined: Thu Jul 07, 2011 5:33 pm

Re: Learn to program or not yet

Post by gftweek »

I'd say it's not about the difficulty in learning a language, it's about your enjoyment of it. When I started Uni, there were over 60 people in the 101 programming course in the first term, in the second term that had halved and continued to drop, not because the language was too hard, but people didn't have the mindset for it.

If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot, but start small before you commit yourself to anything. There are plenty of free online courses and tutorials to get you started, so give those a go first.
whitechaos35
Posts: 205
Joined: Wed Nov 30, 2011 4:19 am

Re: Learn to program or not yet

Post by whitechaos35 »

Everyone should make an attempt at learning to program, no matter what the language. It encourages thinking about problems and is a useful tool to have no matter what your interests or job.
User avatar
Zhil
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Learn to program or not yet

Post by Zhil »

gftweek wrote:If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot
This right here. Golden advice. That's exactly how it works.

Always study programming while trying to solve problems. Don't try to learn how to program, learn how programming helps you solve problems you otherwise couldn't. For example, start out by making a really complex problem to calculate. Solve it with a calculator on paper, then try to convert that to a computer program.

Next step, take a more ambitious problem and work your way up to, say, a Tic Tac Toe solver. Always tackle it in terms of problem solving, so it tickles your creativity, but more importantly, so you get concrete programs that solve concrete problems.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
User avatar
Gargantuan_Penguin
Posts: 755
Joined: Mon Jan 16, 2012 10:38 am

Re: Learn to program or not yet

Post by Gargantuan_Penguin »

that exactly why I haven't really gotten into programming, I don't have enough problems to solve, and nothing tedious to do. when I do have problems to solve programming suddenly becomes useful to me.
And HOW!
User avatar
Zhil
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Learn to program or not yet

Post by Zhil »

Gargantuan_Penguin wrote:that exactly why I haven't really gotten into programming, I don't have enough problems to solve, and nothing tedious to do. when I do have problems to solve programming suddenly becomes useful to me.
Yeah, like I said, create problems for yourself. Try to think of a challenging problem, solve it with programming.

If you only do the tedious parts, how will it ever become fun? :)
Come join us at Vioki's Discord! discord.gg/fhMK5kx
User avatar
Aduis1210
Posts: 104
Joined: Mon Nov 14, 2011 5:48 am
Location: England

Re: Learn to program or not yet

Post by Aduis1210 »

Thank you guys:D
well i could think of a few problems and solve them how would i go about learning java?
Also modding with minecraft a good way to learn? (like making a simple mod to enchance my gaming experiance?)
Thanks again :D
Aduis1210
User avatar
Poppycocks
Posts: 825
Joined: Thu Dec 22, 2011 2:11 pm

Re: Learn to program or not yet

Post by Poppycocks »

Thinking in Java 3 is an excellent free online book which I recommend.

Then again it doesn't really talk about the absolute basics... Dunno.

I started in pascal. I wouldn't recommend doin' that, as it's not at all object oriented, but it was a nice'n'easy learning experience for me.

No wait, I'm lying, I started in basic. I still remember the first program I copied off of a book. It was called fish and it drew a fish on the screen. I tried renaming it tree in hope it'd draw a tree... That's when I slowly started to understand that programming isn't at all what I thought it would be. Luckily I was like 7 or 8 back then, therefore forgive myself my stupidity :D.

Anyway, you could for example google for "Java for dummies" or something like that. Something good is bound to come up.
User avatar
Aduis1210
Posts: 104
Joined: Mon Nov 14, 2011 5:48 am
Location: England

Re: Learn to program or not yet

Post by Aduis1210 »

Its just starting to learn the simple stuff first 9i tried with eclipise and atm its comming up with errors maybe i did something wrong but anyway.
me think getting to learn something new is the hard part continueing to learn is the easy part.
When i learned to ride a motorcycle the hardest part was learning the controls gear changes ect now im a full licenced rider and im continuing to learn the roads and the motorcycle

once you get the idea of something you learn it fast you just need a hand to learn it in the first place if its a book to read or a tutor to help you witht he basics

Rant over *

Cheers guys^^
PatrickSJ
Posts: 302
Joined: Thu Jul 07, 2011 3:00 am

Re: Learn to program or not yet

Post by PatrickSJ »

HeadFirst Java is a good book for beginners.
User avatar
RenEvo
Posts: 190
Joined: Sun Jan 08, 2012 4:23 pm

Re: Learn to program or not yet

Post by RenEvo »

gftweek wrote:I'd say it's not about the difficulty in learning a language, it's about your enjoyment of it. When I started Uni, there were over 60 people in the 101 programming course in the first term, in the second term that had halved and continued to drop, not because the language was too hard, but people didn't have the mindset for it.

If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot, but start small before you commit yourself to anything. There are plenty of free online courses and tutorials to get you started, so give those a go first.

This (period).

Most of the people who "graduate" with Computer Science can barely put together a simple calculator program, and the only real program they "kind of" understand is black jack.

Find a problem you are interested in solving with software, then learn what you need to learn to solve that problem, if you still enjoy it about 2 days in, keep going.

That is how I started, about 15 years ago.
FlowerChild wrote:Version 3.49 of Better Than Wolves
-Added ability for villagers to toss the milk.
YouTube | Twitch
User avatar
Zhil
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Learn to program or not yet

Post by Zhil »

RenEvo wrote:Most of the people who "graduate" with Computer Science can barely put together a simple calculator program, and the only real program they "kind of" understand is black jack.
I know, it's a complete disgrace. I worked on a project with a guy at work and asked him to implement a feature, there was some easy calculus math involved.

"Yeah, I really don't like math, can you do it?"

At that point, I decided not to extend my contract. I refuse to work with programmers that don't even like math and know just the bare minimum. Colleges should put more attention to making sure that their students actually know how to program, opposed to just being able to cram useless info in their head during exam time.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
whitechaos35
Posts: 205
Joined: Wed Nov 30, 2011 4:19 am

Re: Learn to program or not yet

Post by whitechaos35 »

I'm in the Computer Engineering department at my school. Two years ago I spoke to my technical advisor about dual majoring in Computer Science to get access to some particular courses that I was interested in. She laughed and jokingly said "Why would you want to waste that space on your resume?"

I was a little shocked by her response for about a semester, but then I ran into two people from my high school who are majoring in Computer Science and we started talking about some of our projects, etc. They weren't very bright in high school, but they sounded like they knew what they were doing. One of them is actually a dual major in digital graphics, and because I was working on a little 3D project at the time, we all started working together on my project.

Suffice it to say, I learned very quickly that these "Computer Scientists" did not know how to program and they killed my enthusiasm for my own project. :/
PatrickSJ
Posts: 302
Joined: Thu Jul 07, 2011 3:00 am

Re: Learn to program or not yet

Post by PatrickSJ »

Modding Minecraft is not a good way to learn Java. Notch's code is a snarl in some places. Create simple programs first.

First, I do recommend that you read Sun's Java tutorials. They are very good although they do rush things. However, doing the examples and tweaking them is a good way to learn.

Here are some exercises:
1. Create a Binary <--> Decimal converter.
- Enter a Decimal number and display it in Binary
- Enter a Binary number and display it in Decimal

2. Create a Fahrenheit <--> Celsius converter.

3. Run a Geometry Calculator w/ a text menu. Advanced: Make the menu a GUI.
- Create a 4 option menu.
-- A. Calculate Area of a Circle
-- B. Calculate Area of a Rectangle
-- C. Calculate Area of a Triangle
-- D. Quit Option in Menu

When you are ready we move onto Serialization which covers I/O.
User avatar
jorgebonafe
Posts: 2714
Joined: Mon Sep 19, 2011 3:22 am
Location: Brasil

Re: Learn to program or not yet

Post by jorgebonafe »

PatrickSJ wrote:First, I do recommend that you read Sun's Java tutorials. They are very good although they do rush things. However, doing the examples and tweaking them is a good way to learn.
That. They also teach the basics of OOP, or at least they did... I haven't checked those tutorials for a long time, since before Sun owned java
Better Than Wolves was borne of anal sex. True Story.
User avatar
finite8
Posts: 587
Joined: Mon Jul 04, 2011 9:31 pm
Location: Melbourne, Australia

Re: Learn to program or not yet

Post by finite8 »

Watch this to learn what being a developer is all about. Also helps explain the mindset you need to get yourself in.

http://penny-arcade.com/patv/episode/so ... per-part-1

They guys over at ExtraCredits are awesome!
Flowerchild (IRC) wrote:I'm not trying to stop you BTW ..., I'm saying that I think you're a piece of shit...not the same thing
User avatar
BigShinyToys
Posts: 836
Joined: Fri Jul 08, 2011 9:53 pm

Re: Learn to program or not yet

Post by BigShinyToys »

I had the same problem as some of the above . ( that being a lack of useful applications for programing ) but computercraft has given me the excuse to program ( sorta program ) it is in lua not Java thought. but in my case I think some of the structurer crosses overs into other languages like C++ ( for example "print" is the equivalent of "cout" ). I would recommend only trying one language at a time as two could cause confusion .

link for computercraft.
http://www.minecraftforum.net/topic/892 ... craft-121/
User avatar
Aduis1210
Posts: 104
Joined: Mon Nov 14, 2011 5:48 am
Location: England

Re: Learn to program or not yet

Post by Aduis1210 »

Thank you guys for all your advise.

Been looking into it with more detail and Youtube has some good videos explaining Everything from installing the jdk to starting mouse inputs
Anybody tryed these? if so would u suggest these to a newbie?;)

Cheers
whitechaos35
Posts: 205
Joined: Wed Nov 30, 2011 4:19 am

Re: Learn to program or not yet

Post by whitechaos35 »

I wouldn't suggest watching videos. Learn how the language works from online tutorials and documentation, then try applying what you've learned by solving some simple problems. When you're stuck, refer back to the documentation. That's a very important skill to develop, and watching youtube videos just doesn't do that properly.
Mr_Hosed
Posts: 583
Joined: Wed Sep 21, 2011 1:16 am

Re: Learn to program or not yet

Post by Mr_Hosed »

I started programming at 8 so forgive me if this is silly, but your best bet is to program in something like basic before tackling Java/etc. You want to use a straight procedural language (basic, not visual basic) to get a better understanding of what a computer actually does. Hell, Assembly is even worth learning, but I wouldn't start there.

Once you're making Towers of Hanoi and Tic Tac Toe in basic, move on to C. Straight C, not C++. If you don't understand memory management and pointers you really aren't going to understand what's happening in more "advance" languages. Again, Tower of Hanoi, Tic Tac Toe. Simple fun little projects.

After that, move to an object oriented language like Java, C#, VB, C++. Now you'll understand what's happening under the hood so there's no "Magic strings that do stuff". It'll make sense. Plus you'll really appreciate what those languages bring to the table. At this point, write your own data structure library. Doesn't have to be "feature complete", but enough to be useful and to help illustrate the real concepts behind OOP.

From there it's an open field of learning that never stops.

BTW, all of that would cover the first year to two years of a very good software engineering course. One that would actually get you hired by someone like MS (They make you program on a white board for instance).

If all you're interested in is modding a game then by all means, skip all the above and just jump in and experiment. Just realize that you're throwing crap at the wall until it sticks with no real idea what's going on. Alot of amazing things have been built this way (Minecraft, not the code but the game design, for instance? =| ) so don't discount it if your end goal is fairly immediate and limited in nature.
User avatar
Zhil
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Learn to program or not yet

Post by Zhil »

Mr_Hosed wrote:-snip-
Really? I think I disagree with almost every word of that post :/

I noticed in the past while discussing with FC that I have a weird view on programming, so I won't go into heavy debate, but in the words of Dijkstra: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration”

That's of course a bit harsh, but switching from Basic to a proper language can take years of reconditioning. It teaches programmers all the bad lessons. So, after learning Basic and its muddled philosophy, you go to C, which will teach the new programmer that programming isn't about reasoning about problems, but about fiddling with difficult technical concepts like memory handling and pointers.

You'll just end up with a programmer that writes efficient hack code, after which you then try to teach him how to fit his knowledge into the OO concept. At that point, his previous training will require him to fight the new taught lessons every step of the way.

I would personally scrap Basic from any programming lessons and always start with OO first, then go to C.


Consider an example, how to solve Tic Tac Toe:

- First you abstract the game into constituents
- Then you abstract functionality
- Then you program the game

Step 1 is the most important step, abstracting a problem into components that you can solve. This corresponds directly to OO, which is all about abstraction.
Step 2 is all iterative programming. How do I tie it all together? This is standard iterative programming that can be taught within any language
Step 3 is about getting better. Each time you program, you try to become better. At this point, you want to pick up C, so you can learn a bit more about control and what is happening behind the scenes.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
Mr_Hosed
Posts: 583
Joined: Wed Sep 21, 2011 1:16 am

Re: Learn to program or not yet

Post by Mr_Hosed »

As I said, I started at 8 so it may seem silly. Apple IIe and basic baby! Yeah! ;)

It wasn't until my datastructures class at uni that I finally felt like a programmer though. I still think a procedural language is a very valid starting point.

The main problem I've seen from people have who started there is moving on to a language that allows them to continue bad habits (such as gotos, etc) and they used that prior language long enough to shape their problem solving process around that language. But if you're on a rapid learning curve, basic to C to C++/C#/Java seems to me like a good way to go.

Then again, with the ease of libraries these days, you could go an entire career without ever learning about pointers...

Edit: One problem I do see with focusing on OOP (A problem I ran into) is the steep curve to learn functional languages like LISP, F#, and JavaScript. My god those made no damn sense to me for the longest time. JavaScript is even worse because you can program it as an OOP or a Functional.
User avatar
finite8
Posts: 587
Joined: Mon Jul 04, 2011 9:31 pm
Location: Melbourne, Australia

Re: Learn to program or not yet

Post by finite8 »

I use to agree with the "Start with a procedural language like C or C++" but i have since completely dropped that opinion and here is why:

1 - Anything C/C++ can do, C#/Java can do easier.
By this, mean... if you want to write procedurally and without using objects, you can. Just because everything IS an object doesn't mean anything to a new programmer. int i = 0 works the same in C as it does in C# to the programmer, it is just doing different things under the hood. If you are at Uni with proper tutors and lecturers and a guideline, then starting at the roots is good. If you are new to programming and self teaching you need something that produces big results with little effort, and working within a framework is the best way to provide this.
2 - More modern languages evolved from their predecessors.
Java and C# learned the lessons from C++ and made changes for the better. The removed the mistakes and added improvements, yet keeping very similar syntax. This means that if you learn C# or Java, C++ is a lot easier.
3 - When learning to drive, you don't open up the engine and manually control everything.
This is the equivalent of C++. It's power comes from the incredible low level control you are given over the system, but this power is only relevant to those who truly understand it.

The number of programmers has boomed since i was first interested in it (going back to 98 here) and i believe this is due to the ease of accessibility to the languages. If you are a new programmer and teaching yourself, you want to be able to quickly do something fun and exciting. Something as simple as controlling where on the screen a box is drawn in C++ is no easy task. With stuff like XNA, i can render a 2D sprite to screen in about 5 mins from scratch and without any copy pasting. I'm not saying that you can't learn by starting at the procedural languages, but it is a lot harder and intimidating for noobs.
Flowerchild (IRC) wrote:I'm not trying to stop you BTW ..., I'm saying that I think you're a piece of shit...not the same thing
Post Reply