Page 6 of 6
Re: Programming
Posted: Sun May 31, 2015 11:28 pm
by Negamuse
Haskell is difficult in the sense that it has a huge barrier to entry of complexity if you can't program already, and if you can, you probably need to relearn a different way of thinking, like switching from left to right hand drive - your instincts are fighting you all the way. But it's also, IMHO, one of those things that looks at programming from a completely different angle to everything that's commonly used. Learning on that and going to anything else is like if you wanted to speak French, learning Japanese because you had a Japanese to French dictionary on your shelf already. For the first year you'll be translating everything twice in your head and the only time you get anywhere near fluent will be when you start to think in French.
But I think starting from choosing a language is a bad move anyway. There's a certain amount of concepts that you need to know and are pretty much language-agnostic anyway. Data structures, algorithms, how a computer basically works, program flow, recursion and so on... these are things you'll run up against in most languages you'll pick up to use so it doesn't matter what you pick, and I know on my CS course they were covered seperately.
What I would perhaps do is think about what you want to do, to build, and then pick a language based on that. If you were interested in making games, say, then OK you probably wouldn't be making it all yourself from scratch, you'd be using some kind of toolkit for it, but that'd come with some kind of language you'd need to learn - some of them are based on a dialect of BASIC, some are Python based, some are C++ based. There's no substitute for making something you're interested in to motivate you to learn, though you may need to make small, simple things before progressing to bigger things.
One last thing: programming languages evolve, and a lot of the reading material out there can go out of date rapidly. I learnt C++ in the late 90s, today it's a very different language, to the point the books I learnt on are pretty much useless. Ditto Java... Newer languages like Python probably suffer from that less. So watch out for that.
Re: Programming
Posted: Mon Jun 01, 2015 4:32 am
by Cupz
Haskell reads like a bitch, I'm not even going to try.
C++ is something I've been meaning to learn for a long time. The problem is I think I can learn it pretty swiftly if someone sits next to me to program, but most books and tutorials feel way to slow. I know a lot about programming, and going back to hello worlds and what a for-loop is again is really demotivating, but skip ahead to much and I'm lost. I'll do it one day though.
I'm writing a game in python with pygame. Everything from scratch, like text is drawn with squares and 2d-arrays. Its a really cool language, most fun I had programming in a while, and very nice modules that click almost like legos! Pythons dictionaries are really awesome. I wish there was a more comprehensive set of audio-tools for it though. Might rewrite it for pyglet soon instead for exactly that reason. Learning it was a bit of a bump, in the beginning it feels like you can't do anything. But once I was over that bump a week later everything felt as smooth as butter. Ninja-IDE has been a HUGE help. There's still some stupid handicapped shit in the scripts but its coming along nicely.
Re: Programming
Posted: Mon Jun 01, 2015 8:33 am
by Techboy
http://learncodethehardway.org/
Do python and C.
Definitely don't do haskell or scheme haha, MrMessiah explained the reasons why quite well.
Re: Programming
Posted: Mon Jun 01, 2015 8:22 pm
by Cupz
Learn malbolge.
Re: Programming
Posted: Wed Jun 03, 2015 4:15 pm
by Aerial Boundaries
Thanks for the advice guys.
I am working through Learning Python the Hard Way. I find it a bit patronising but he does warn you that he might sound like that, and I also know a lot of basic stuff from bash scripting such as variables, arguments, if statements and loops so that might be why.
I am getting to the part where you start to parse files (the fun stuff).
Cupz: Rather learn brainfuck, it seems easier.
Messiah: I have no clue what I want to end up working on. Possibly the type of programs that suckless.org make (I love dmenu), lightweight and in as few SLOC as possible. I do have dreams of forking Conky and making it faster, and fixing all the RIDICULOUS shitty bugs in it. The last update to that was in 2012, and it's a program tonnes of people use on Linux...
Re: Programming
Posted: Wed Jun 03, 2015 5:06 pm
by Negamuse
Aerial Boundaries wrote:
Messiah: I have no clue what I want to end up working on. Possibly the type of programs that suckless.org make (I love dmenu), lightweight and in as few SLOC as possible. I do have dreams of forking Conky and making it faster, and fixing all the RIDICULOUS shitty bugs in it. The last update to that was in 2012, and it's a program tonnes of people use on Linux...
Well that's a great goal, to be working on something open source like that. That looks to be written in C/C++... but if learning on Python is kinda breaking the spine of learning, then that's cool. You'll probably find it easier to learn that when you come to it having already learnt something else. It's like spoken language. Your first foreign language is harder to learn than anything else, once you've done it once it becomes easier, it's like your brain remembers how to abstract things.
Re: Programming
Posted: Wed Jun 03, 2015 7:22 pm
by Aerial Boundaries
MrMessiah wrote:Aerial Boundaries wrote:
Messiah: I have no clue what I want to end up working on. Possibly the type of programs that suckless.org make (I love dmenu), lightweight and in as few SLOC as possible. I do have dreams of forking Conky and making it faster, and fixing all the RIDICULOUS shitty bugs in it. The last update to that was in 2012, and it's a program tonnes of people use on Linux...
Well that's a great goal, to be working on something open source like that. That looks to be written in C/C++... but if learning on Python is kinda breaking the spine of learning, then that's cool. You'll probably find it easier to learn that when you come to it having already learnt something else. It's like spoken language. Your first foreign language is harder to learn than anything else, once you've done it once it becomes easier, it's like your brain remembers how to abstract things.
Thanks
![Happy :]](./images/smilies/icon_grin.gif)
(it's written in C I believe. C++ is very unpopular with the open source community for various reasons. Most of which boil down to 'the extra features are both unnecessary and make coding and maintaining even more difficult')
That is the plan, I don't want to be stuck with Python by itself, but it is easier and useful to know. There are situations where speed isn't so important, and Python allows you to solve a problem more simply than in C. Simpler tends to be better in my experience as a user.
That said I don't understand why programs such as Deluge are written in python

. I would choose the fastest running code for something like that
Re: Programming
Posted: Thu Jun 04, 2015 3:20 pm
by Cupz
Python is awesome. Computers are so insanely powerfull these days there is hardly any reason for me to do things low-level anymore. And I won't ever be as good in it like awesome hackers that write x86 processor emulators in their coffee-breaks, I'm just glad most of them are fighting the good fight for freedom in software so I can use it.
A few downsides of python is that there isn't a whole lot written for it, especially in the fields I'm interested in and a lot of them aren't actively maintained compared to C based stuff. Its also impossible to close the source, but I only mind that because I'm embarrassed by my crappy logic.
Re: Programming
Posted: Thu Jun 04, 2015 5:38 pm
by Aerial Boundaries
Cupz wrote:Python is awesome. Computers are so insanely powerfull these days there is hardly any reason for me to do things low-level anymore. And I won't ever be as good in it like awesome hackers that write x86 processor emulators in their coffee-breaks, I'm just glad most of them are fighting the good fight for freedom in software so I can use it.
A few downsides of python is that there isn't a whole lot written for it, especially in the fields I'm interested in and a lot of them aren't actively maintained compared to C based stuff. Its also impossible to close the source, but I only mind that because I'm embarrassed by my crappy logic.
Actually, I do remember hearing about an interpreter that converts python to C and then compiles it. I have no idea how well the code runs though, or if it is still maintained.
EDIT: Look up Cython. I think that is the one.
Re: Programming
Posted: Mon Jun 15, 2015 4:23 pm
by Cupz
Can someone explain me how to use a class. They look cool.
Re: Programming
Posted: Wed Jun 24, 2015 3:18 am
by Waterbagel
Cupz wrote:Can someone explain me how to use a class. They look cool.
Depends on the context. What do you want to do?