• OK, it's on.
  • Please note that many, many Email Addresses used for spam, are not accepted at registration. Select a respectable Free email.
  • Done now. Domine miserere nobis.

Programmers in here

walfin

Democrazy
Local time
Tomorrow 7:27 AM
Joined
Mar 3, 2008
Messages
2,436
---
Location
/dev/null
Just a quick poke around, since I have noticed that every time I start a thread about a programming language or stuff like that, it tends to fizzle. + I tend to see lots of linux threads here (which die out fairly quickly) which cater to newbies and not power users/programmers.

Languages?
 

Latro

Well-Known Member
Local time
Today 6:27 PM
Joined
Apr 18, 2009
Messages
755
---
I don't come onto the forum all that often, and even when I do pop in I don't go back to threads, I just look around for new posts, so I obviously contribute to the problem, but oh well.

Anyway, while I think I've answered this question before, the main languages I've actually used to do things have been Python and MATLAB. I know tidbits of C, enough that I could write little intensive functions but not enough that I could do any kind of interesting software design.

I've been learning about functional programming in general mostly from the perspective of Common Lisp but also with some bits of Haskell and Erlang more recently and I really like the ideas of these languages. I have issues with deciding on a level of purity, though; on the one hand, the restrictions that Haskell and Erlang place you under are somewhat annoying in some contexts, but on the other hand what you get back is quite powerful, in that you can be quite certain about where side effects are. In Haskell, for example, unless you define or invoke a monad you can't have them, period, and it's generally pretty clear where a monad is involved. Thus if you're, for example, debugging your program, you only need to worry about side effects, global state, etc. in a very local part of your program, and then go back to your function definitions, which are essentially self-contained objects and are thus easier to debug.
 

KazeCraven

crazy raven
Local time
Today 5:27 PM
Joined
Nov 14, 2009
Messages
397
---
Meh, I'm still a student in ugrad CS, and I'm not interested enough in programming itself to seek out programming on my own.

But I have a basic familiarity with C++, Java, and MATLAB. Also, I have started working with Adobe Flash (Javascript? the part that looks like code) out of necessity.

What do you try discussing about programming languages? The pros and cons of using each?
 

5k17

suspective
Local time
Tomorrow 12:27 AM
Joined
May 17, 2010
Messages
183
---
Location
Germany
C++, GML, Brainfuck.
 

semicolon

Naive
Local time
Today 11:27 PM
Joined
Mar 11, 2010
Messages
28
---
Location
in between related clauses
Just wondering, but what are your views on OOP?

OOP has recently killed my enthusiasm in coding C++ (though it probably should more accurately be attributed to my over-ambitiousness, lack of perseverance with regards to debugging, procrastination and weird bouts of depression); so now I've kind of moved on to web programming. I've just discovered the niftiness of Javascript, though.

But yeah, as good as the concept is, I don't think OOP was originally designed for applications with just one person (especially an INTP - gross generalization I know :p) behind them. It just takes a lot of effort to get going (although I love planning it all out, the actual coding really doesn't suit me).
 

Razare

Well-Known Member
Local time
Today 6:27 PM
Joined
Apr 11, 2009
Messages
633
---
Location
Michigan - By Lake Michigan
When I was 14 I began learning different languages.

I've extensively used...

C/C++
Java
Perl
PHP
NWScript (for Neverwinter Nights games)

As for OOP, I learned C++ but didn't grasp OOP until I was forced to learn Java in college. That will teach you OOP like nothing else. Then when you go back into C++, you just have to learn a couple of things to get your OOP done right.

I agree with your comment that it's meant for larger projects. Also, in C++, you can build your own OOP library of functions. That was the last coding project I bothered with. I just eventually realized I would never get a job programming because I don't have a degree in it, so there's no point. I haven't coded in any of those languages in the last 5 years.
 

semicolon

Naive
Local time
Today 11:27 PM
Joined
Mar 11, 2010
Messages
28
---
Location
in between related clauses
I think of OOP as building up a huge network of scaffolding: totally pointless to set up if all you want is, say, a pile of stones, but once you get larger it really helps with fitting everything neatly together with little fuss.

Also, the OOP+INTP combo (or is it just me again?) means that because it seems so easy to just add a module of code there to extend my program a bit further, eventually it becomes a huge conceptual network of classes which never actually materialize. (Because everything depends on everything else, you can't actually see the program forming in front of you as you code, which is rather disappointing when you want at least a bit of feedback and reassurance that all of this is going somewhere).

Oh and I just realised that this is going a bit off topic. My (former) favourite language was C++, by far the one I had most experience with (damn it, practically all my free time was spent on it since I was 7 or 8, and now I've just lost all interest in it, just like that); apart from that I have used a bit of this and that, like all that fancy PHP/CSS/Javascript stuff, Perl (which I hated, it was just like a sprawling mess), Python, Ruby (my preferred interpreted language), bits of AS2 but nothing serious, VB (excuse: that was years ago when I was only small :P), oh and I started off with some random LabView because that's what my father was doing. So yeh. Something like that.
 
Last edited:

jachian

Active Member
Local time
Today 7:27 PM
Joined
Oct 25, 2009
Messages
279
---
Location
somewhere in the blue Caribbean Sea
programming since I was 19.

C
C++
Java

recently Python.

Prolog when i was at university.

Haven't done much since I got my current job about a year ago........ I sometimes get depressed when I dont program.
 

y4r5xeym5

Lurker Extraordinaire
Local time
Today 5:27 PM
Joined
Jan 27, 2010
Messages
333
---
Location
Texas
I know my way around Java and Python, although I really prefer the theory of computer science over the implementation of it.
 

aracaris

Active Member
Local time
Today 11:27 PM
Joined
Sep 5, 2009
Messages
214
---
I started out learning C++, have been at it for something over a half a year. More recently started learning PHP, and JS, which are seeming way simpler than C++ at the moment.

I've kind of started neglecting C++ because it is so tough, and not too applicable to what I've been focusing on (website related stuff).

But I'm thinking I need to be good at more than just website related programming, so I should probably get back to trying to learn it.
 

Razare

Well-Known Member
Local time
Today 6:27 PM
Joined
Apr 11, 2009
Messages
633
---
Location
Michigan - By Lake Michigan
My problem with C++ was interfacing with windows API. Back in the dinosaur days of it, the .NET framework didn't exist, so it was pretty much impossible for me because Microsoft had designed everything to be so arcane it was impossible to understand. I stuck with OpenGL programming and that was about as far as I got.
 

walfin

Democrazy
Local time
Tomorrow 7:27 AM
Joined
Mar 3, 2008
Messages
2,436
---
Location
/dev/null
semicolon said:
OOP has recently killed my enthusiasm in coding C++ (though it probably should more accurately be attributed to my over-ambitiousness, lack of perseverance with regards to debugging, procrastination and weird bouts of depression); so now I've kind of moved on to web programming. I've just discovered the niftiness of Javascript, though.
O most useful symbol in many languages!

What's wrong with OOP? I find that's the way I think. Maybe because I started off learning C++ (when my brain was still pretty pliable) and that kind of changed the way I thought about things too. I would actually love to have a cross platform C++ (no, Java is not C++, it is really less OOP in some ways).

Actually you started learning C++ at 7; don't you think in a C++ way?

Razare said:
Microsoft had designed everything to be so arcane it was impossible to understand.
I never understood why they had to do all that stupid nonsense like "WNDCLASS" and the stupid WindowProc (and all the stupid distinctions between BeginPaint/EndPaint and GetDC/ReleaseDC). And that's just the super basic stuff.

Use libSDL for all your graphics needs, gives less grief.

Dear All,

I would like to request help for a new game. Well, actually it is nothing much at present.

It is meant to be a game based on the book Animal Farm (the storyline of which we shall follow religiously).

It is written in Java with the Golden T Game Engine.

PM me if interested and tell me your area of interest:
AI
Graphics
Interface

or if you can draw/3D model stuff (it takes too long for me because I suck at it and K-3D is not fully featured)

There are some classes which will need all 3. Really, what I need now is to start coding the entity classes (that is, the units, buildings, etc.)

I haven't even thought of the building system yet (though I have in mind a system that would be quite different from other games. But I mayn't use that as it might confuse the end users).

Please no n00bs, or people overly rusty in Java. I really want to get this off the ground, it was sitting in my hard disk for years cuz I was busy and I have recently resurrected it but added only a few things more (actually spent a few hours just coding a selection rectangle, which shows you how rusty I am). No "ideas people" who don't know how to code too, please. I want independent stuff, i.e. agree on the methods and interfaces and what a class should do, then you code however you want and I don't disturb and can expect it to Just Work.

Will send code upon PM as the file is too big to post here. It will run out of the box (only a simple isometric map and interface, and some buildings/chickens) though you may get ArrayIndexOutOfBoundsException on occasion because of lack of checks in the tile generation code. I am using Netbeans and would prefer that you do so too.
 

Latro

Well-Known Member
Local time
Today 6:27 PM
Joined
Apr 18, 2009
Messages
755
---
Incidentally, if anyone would like to start a similar such project (maybe not a game, but something) in a functional language (most likely Common Lisp and specifically SBCL), please PM me and possibly Wisp. I really like the ideas of functional programming but don't really have much to actually write in it just yet; about the only thing that I would write is a new version of an already-fully-operational program that we are using for my research project, whose only improvements would be marginally easier/better parallelization and actually being documented worth a damn (mostly the latter).
 

Wisp

The Soft Rational
Local time
Today 6:27 PM
Joined
Jan 4, 2008
Messages
1,291
---
Location
East Coast of USA
I'm not as heavily on board the functional boat as Latro seems to think I am. :p

The language I am most acquainted with is definitely C#; I wrote a 2D turnbased tiled thingy in it in XNA last year. Other than that, I can pick up any OO stuff quite quickly, and I have a bit of experience with C++ in particular. I've also used python, and can whip out some bash and am familiar with most of the internals of a given Linux system.

I still consider myself a novice programmer, so I would prefer being placed under someone with more of an idea what they were doing (there seem to be a few), who could assign me specific tidbits to work on...

I'd definitely be interested in helping, at least for a while.
 

semicolon

Naive
Local time
Today 11:27 PM
Joined
Mar 11, 2010
Messages
28
---
Location
in between related clauses
What's wrong with OOP? I find that's the way I think. Maybe because I started off learning C++ (when my brain was still pretty pliable) and that kind of changed the way I thought about things too. I would actually love to have a cross platform C++ (no, Java is not C++, it is really less OOP in some ways).

Actually you started learning C++ at 7; don't you think in a C++ way?

There's nothing wrong with OOP per se, but you misunderstood me. The thinking behind OOP comes very naturally to me, but it's the coding which personally I dislike. What I meant was that because of the modularity, there is a lot of redundant coding to be done first (which I analogized to building scaffolding). (What I perceive as redundant is any code whose effect is not actually visible in the end product) Additionally, because of a weird obsessive trait of mine, coupled with the ease of extending the functionality of the program due to the modularity, when conceptualizing I keep adding more and more to it in an attempt to generalize it (I remember when I was very little, I had this notion that everything was really arbitrary and too specialized). Biting off more than I can chew + initial redundancy + lack of feedback -> lack of interest -> procrastination -> depression from a sense of non-productivity -> fail programmer

I'm probably tackling OOP wrong. :P Try again in a couple of years, maybe. :confused:

Also what do you mean by a cross-platform C++? There are all sorts of different compilers for different platforms. If you mean a unified GUI, then learn to use a toolkit like wxWidgets, or just draw your own stuff with SDL or something.

I never understood why they had to do all that stupid nonsense like "WNDCLASS" and the stupid WindowProc (and all the stupid distinctions between BeginPaint/EndPaint and GetDC/ReleaseDC). And that's just the super basic stuff.

Use libSDL for all your graphics needs, gives less grief.

I think most of it is due to an attempt to make everything as backwards-compatible between versions of Windows as possible. What's wrong with WNDCLASS and WindowProc? (Not saying that I like working with it, but the senseless bashing of it is quite ridiculous sometimes)

SDL is a bit overkill if all you want is a simple UI with standard controls, otherwise if you want to draw your own fancy 2D stuff, then I agree :)
 

Latro

Well-Known Member
Local time
Today 6:27 PM
Joined
Apr 18, 2009
Messages
755
---
I'm not as heavily on board the functional boat as Latro seems to think I am. :p
's true, but on the other hand we're looking for a functional project to do to get a bit more off the ground.

Incidentally, with regard to OOP:
http://www.paulgraham.com/noop.html
http://www.paulgraham.com/reesoo.html
The second one is more interesting but is a response to the first, so they should be read in that order.

paulgraham.com has a lot of nice essays by the way, many of which have nothing to do with programming.
 

walfin

Democrazy
Local time
Tomorrow 7:27 AM
Joined
Mar 3, 2008
Messages
2,436
---
Location
/dev/null
semicolon said:
(Not saying that I like working with it, but the senseless bashing of it is quite ridiculous sometimes)

Hm well those are common examples. Though there are countless more (I mean, just compare your standard posix fork() and exec() with CreateProcess()). GDI was really a bear.

And yeah, you're right. SDL for graphics, not UI. Though frankly, using WM_COMMAND to handle menus/button presses doesn't make WINAPI the best thing to code UI in too :p. The cross platform toolkits (e.g. wx) are neater (MFC was pretty confusing too).

semicolon said:
Also what do you mean by a cross-platform C++?
Write Once Run Everywhere.

Yes, I like wx.

Razare said:
So I looked up Animal Farm... Wow a game on that!?
Yes. I don't know if it is going to be the best thing in the world but
1. No more ideas, no more changes. Something shall get done this time.
2. It is going to be GPL.

PM if you want to join. Have already received PMs and will send out some code later.
 

nexion

coalescing in diffusion
Local time
Today 6:27 PM
Joined
May 31, 2010
Messages
2,027
---
Location
tartarus
I program in C++ a tiny bit. I've been learning it, but stopped at some point. I intend to pick it back up once I start school again. I typically learn a concept, then write a program on it. I have written a few actual simple programs, but I never make any programs anymore because I can never think of what to make.
 

Oblivious

Is Kredit to Team!!
Local time
Tomorrow 7:27 AM
Joined
Apr 30, 2008
Messages
1,266
---
Location
Purgatory with the cool kids
Try making a program that spits out something cool like prime numbers. Once you make it, you'll discover why finding big prime numbers take so much computing power.

Making a 2D shmup (Touhou Emulator) at the moment. Got the bullet engine up and running more or less, now I just need to know how they make beams curve in a 2D context...
 

AnExperimentalTom

tinkering with something or other
Local time
Today 11:27 PM
Joined
Aug 16, 2010
Messages
33
---
Location
Cardiff
Been programming since I was 9, and since then have firmly learnt

C/Objective-C/Cocoa
Java
REALbasic
PHP
JavaScript
Pascal
x86 Assembler Language

I'm also bale to adapt to new languages fairly quickly (usually getting a good grasp of a language within a matter of weeks), and have dabbled around with many languages.

Oblivious said:
Try making a program that spits out something cool like prime numbers. Once you make it, you'll discover why finding big prime numbers take so much computing power.

Largest known prime:
Code:
1    2^43112609-1    12978189     G10    2008     Mersenne 47
*low whistle*, now thats a big number, and I would love to see how much RAM that needed to be stored. (could work it out but its early in the morning and I can't be bothered to)
 

dalemurray87

Redshirt
Local time
Today 11:27 PM
Joined
Nov 12, 2010
Messages
7
---
When I was 14 I began learning different languages.

I've extensively used...

C/C++
Java
Perl
PHP
NWScript (for Neverwinter Nights games)

As for OOP, I learned C++ but didn't grasp OOP until I was forced to learn Java in college. That will teach you OOP like nothing else. Then when you go back into C++, you just have to learn a couple of things to get your OOP done right.

I agree with your comment that it's meant for larger projects. Also, in C++, you can build your own OOP library of functions. That was the last coding project I bothered with. I just eventually realized I would never get a job programming because I don't have a degree in it, so there's no point. I haven't coded in any of those languages in the last 5 years.

I have worked in C,C++,JAVA(along with xml, java script). I need your help in PHP resources.Can you have any ideas where I can get enough good quality resources in PHP for learning the language.:)
 

TheHmmmm

Welcome to Costco, I love you
Local time
Today 4:27 PM
Joined
Oct 10, 2009
Messages
262
---
I'm currently teaching myself C++, which has been pretty cool.

Although FIRST Robotics at my high school strongly advocates LabVIEW, which I got a glimpse at today. It's really stupid. It's like trying to explain Calculus to someone using stickers.
 

James Black

Active Member
Local time
Today 6:27 PM
Joined
Sep 7, 2008
Messages
218
---
I know C++, C#, Visual Basic, and have previously dabbled in (but mostly forgotten) PHP and Python. I am currently learning Objective-C (I recently got a mac) and Ruby. (I need a good Scripting Language under my belt and it seems the best choice)
 

SkyWalker

observing y'all from my UFO. inevitably coming dow
Local time
Tomorrow 12:27 AM
Joined
Nov 4, 2010
Messages
986
---
Do you guys think that INTPs are good programmers? better than other types?
 

crippli

disturbed
Local time
Tomorrow 12:27 AM
Joined
Jan 15, 2008
Messages
1,779
---
I had one course of c++ when I did an engineering degree. That was okay. I passed. But just scratched the surface. Didn't continue. Now however I would like to learn ARM assembly and python.

A few questions if someone here knows these;
-Are these more difficult then c++?
-How much time will it take to gain a general understanding? Before I can start optimizing my DSLR(camera)(wish thinking)(prime motivation, also to understand more of what those that do this great work do)?

I have one course of programming micro controllers, if this can help. But that is also several years ago, so don't remember much. If I'm not wrong I think that was assembly. Must probably start from scratch.

Reverse engineering is the objective.
 

walfin

Democrazy
Local time
Tomorrow 7:27 AM
Joined
Mar 3, 2008
Messages
2,436
---
Location
/dev/null
crippli said:
-Are these more difficult then c++?
Assembly (pretty much any kind) - harder. Python, easier.

Hey, BTW do you know how to do RS232 stuff, I am having some problems.
 

pjoa09

dopaminergic
Local time
Tomorrow 6:27 AM
Joined
Feb 9, 2010
Messages
1,857
---
Location
th
Started at 17 with a Programming Class in School.
Tried some Python for a year just for fun really.
Then went to C++ because I was frustrated with the lack of expandability.
Got a blog and now amusing myself with HTML.
Plan to go back to C++ again but damn its irritating sometimes with Microsoft. Their Visual C++ 2010 Express is so bullshit.
Its got some crap problem all the time even when I didn't do anything and I had coded perfectly it just spews bullshit.
But still better than learning with a notepad and an external debugger like I did on Ubuntu one time just to see how it is.
Damn somehow, I just make everything a rant now...

Its weird because I am also into guitar. Which is like? What? Fe Ti screw up or something. I love jazz guitar, blues and stuff, don't know, something there is about subtle random noises that make sense.

And I once spent 12 hours a day for two of my weekend days trying to sculpt my face with Blender. Didn't go well, and its sounds so weird I don't want to go back again. Even though I did and I did something more like 3d modeling. Like my house and nearly a car.
 

SkyWalker

observing y'all from my UFO. inevitably coming dow
Local time
Tomorrow 12:27 AM
Joined
Nov 4, 2010
Messages
986
---
I think INTPs are the best programmers, who agrees? (or disagrees?)
 

Indolence

Redshirt
Local time
Today 11:27 PM
Joined
Mar 11, 2010
Messages
8
---
I have worked in C,C++,JAVA(along with xml, java script). I need your help in PHP resources.Can you have any ideas where I can get enough good quality resources in PHP for learning the language.:)

The PHP documentation itself is pretty good.


Is anyone up for a collaboration on something?

I don't have any formal education in programming/computer science as such, I was pretty much tutored by the great google

Mostly:
- C++
- PHP
- AS3/Haxe
- JS

However, I've been programming for quite a few years. I can pick up a new language usually within a day, although it's the libraries et al which take longer to learn. So if anyone is up for making a game or something I'm more than interested.

Also, I'm a student in graphic design so I have an above retarded level of competence in making graphics, unlike many other programmers ;)
 

Melllvar

Banned
Local time
Today 5:27 PM
Joined
Mar 17, 2010
Messages
1,269
---
Location
<ψ|x|ψ>
Currently I suck at C++, and I'm even worse at Javascript, PHP and MySQL (also HTML/CSS). I'm also terribly bad with the Unity Game Engine. (Note: This list of things I'm bad at will probably get longer shortly - I picked up most of the web stuff in the last month, and had been planning to put some time in with Haskell and/or Lisp, after the conversation in one of the other programming threads).

Programming's fun, except for when it isn't.
 

Reverse Transcriptase

"you're a poet whether you like it or not"
Local time
Today 3:27 PM
Joined
Sep 22, 2008
Messages
1,369
---
Location
The Maze in the Heart of the Castle

nyaneko

Member
Local time
Today 11:27 PM
Joined
Dec 26, 2010
Messages
64
---
I think INTPs are the best programmers, who agrees? (or disagrees?)

INTP's are best at creating/inventing (arguably because INTJs are hard working boring bastards that keep doing the same shit over and over again and do similarly but different shit over and over again until something new happens after ten years)

but INTPs have the imagination and the logic to make it work.


Simple HTML in high school... but that's it... and some CSS. Probably carry on in university.
 

crippli

disturbed
Local time
Tomorrow 12:27 AM
Joined
Jan 15, 2008
Messages
1,779
---
Assembly (pretty much any kind) - harder. Python, easier.

Hey, BTW do you know how to do RS232 stuff, I am having some problems.
That's what I thought. I will have to see if I can find the time and intellect.

You are on your own on rs232. I have looked at it. As I planned to build a CNC machine at some point, but didn't get passed the plan stage. Just out of curiosity, what is that you are working on?
 

Nibbler

Being brains, they feel compelled to know everythi
Local time
Today 3:27 PM
Joined
Jan 18, 2011
Messages
190
---
I'm learning Python right now on my own. I'm not a programmer or a computer student. I used to be a technical writer and want to design my own stuff one day.

I vetted out programs and Python seemed the most common sense.

A few years ago, I installed a few CMS and played around with them, picking up on PHP. It led nowhere though. I just wanted to play with it.

And while I am drawn to learning programming, I'm not really into randomly talking about applied programming as a topic. I find it tedious. But I do like gleaning info from discussions I'm not in, though. Make sense to anyone?
 

pjoa09

dopaminergic
Local time
Tomorrow 6:27 AM
Joined
Feb 9, 2010
Messages
1,857
---
Location
th
I'm learning Python right now on my own. I'm not a programmer or a computer student. I used to be a technical writer and want to design my own stuff one day.

I vetted out programs and Python seemed the most common sense.

A few years ago, I installed a few CMS and played around with them, picking up on PHP. It led nowhere though. I just wanted to play with it.

And while I am drawn to learning programming, I'm not really into randomly talking about applied programming as a topic. I find it tedious. But I do like gleaning info from discussions I'm not in, though. Make sense to anyone?

Yep, all you can have are programming language wars.
Maybe Linux wars too?
You could... put up a function and then try to see if someone can come up with the output without compiling it?

Funny, I was on Python then I phased out and now I am on C++ simply because I was unable to see where Python could take me. Great mindset tool for beginning to program anyway. I couldn't understand C++ for shit the first time I tried to put my feet in it. I wetted my foot with some Python and got into C++ and it just seemed like a more specific programming language. Like your own manual to an automatic that you borrow from your father.

The main issue with Python is that I am impatient. I couldn't make sense out of other works in Python and that just started the drift.

For C++ you can look through some C files and at least you would understand the header. I was looking at some wpa_supplicant to make my Slackware run with WPA so after that I was kinda like oh look "elif"! nice I know that.

damn I am a hypocrite.
 

pjoa09

dopaminergic
Local time
Tomorrow 6:27 AM
Joined
Feb 9, 2010
Messages
1,857
---
Location
th

ohrtonz

Active Member
Local time
Today 5:27 PM
Joined
Aug 13, 2009
Messages
117
---
Location
USA
Taught myself HTML in junior high, then PHP cookies and creating CMS using read/write of .txt files. Now I custom code Wordpress and can setup ecommerce. jquery, etc. i know how to use linux command lines for managing site files and moving things around servers at the webhost. Though Im afraid there doesn't seem to be any future and I need to learn new lagnuages. Or try to get into computers or networking again which I have a degree in. But its a tough spot since I am the only person doing what I do at the company and I manage it all. im just not treated like its my company because it basically is.
 

Zionoxis

Active Member
Local time
Today 6:27 PM
Joined
Jan 30, 2011
Messages
437
---
Location
USA
As crappy as this sounds, I have learned a bit of Python and am attempting to start C++...we will see how far I get before I get distracted from it...(again).
 

rm9402

Redshirt
Local time
Today 6:27 PM
Joined
Apr 12, 2011
Messages
3
---
I mostly use Python, I've been working my way through Learn Python the Hard Way.
I also know a little C/C++ and I recommend Learn Python the Hard Way for anybody wanting to get into
programming http://learnpythonthehardway.org/index
 

scorpiomover

The little professor
Local time
Today 11:27 PM
Joined
May 3, 2011
Messages
3,384
---
Started programming with BASIC on the ZX-81, and BASIC and 6502 machine code on the BBC Micro. Programmed in a dozen languages since.

What's wrong with OOP? I find that's the way I think. Maybe because I started off learning C++ (when my brain was still pretty pliable) and that kind of changed the way I thought about things too. I would actually love to have a cross platform C++ (no, Java is not C++, it is really less OOP in some ways).
I have a struggle with OOP as well. I learned using BASIC. I only need data structures to hold the actual data. I use functions only to manipulate it. I tried using OOP several times.

However, I found that when I do use classes, I have to make many more objects than I actually need. Plus, I found that the data structures and functions often evolve, to do many different tasks. Using classes, when I need to make those changes, I have to update several different classes and methods, all over the place, which means that there are lots of different places for the code to fail, and I struggle to keep track of it all.

With data structures and functions alone, I can keep it all together, and when I do have errors, it's all there for me to debug.

I'd really love to learn to use OOP successfully one day, if only because everyone seems to be so into it, and I keep feeling like I must be missing out on something vitally important.

I never understood why they had to do all that stupid nonsense like "WNDCLASS" and the stupid WindowProc (and all the stupid distinctions between BeginPaint/EndPaint and GetDC/ReleaseDC). And that's just the super basic stuff.
It was designed to fit in with the existing code, that was coded in C many years ago.

Microsoft work in a very ESTP way. Their policy tends to be that if it looks good, and offers more functions that consumers will be amazed by, then it will sell, at least to the lowest common denominators, and as they are the majority, then Microsoft will make the most sales, and make the most money. As a result, if coding has a problem, then they tend to just put it out there, to make the most money ASAP, and then sort out the bugs later. As a result, they also tend to stick with the existing foundational code, even if it's buggy, because it's quicker for development.

If they really feel they HAVE to redo the foundational code, like when they redesigned the SQL Server engine, or developed the .NET framework, it tends to take years, because they are so used to sticking with what they know, they tend to duplicate what they had, but in an entirely different way.

There are some classes which will need all 3. Really, what I need now is to start coding the entity classes (that is, the units, buildings, etc.)
A suggestion here. One thing that I learned from bitter experience, is to "start with the end in mind".

Think about how you want the finished result to work. Start by building the end-result entities: landscape, buildings, weapons, characters, as extensions of general abstract classes of Landscape, Building, Weapon, and Character. Make the user into a User class, that is an extension of the general Character class. As you develop each class, add the methods and variables that you think appropriate. As you work backwards, you add all the elements that each class' dependents would need. When you get back to the very start, you now have a reasonably appropriate set of data classes, that can translate back into table for permanent storage in a database or set of files. Then you can work forwards, and add any missing code that is required to make it work.
 
Top Bottom