/* attempt to deal with prototype, bootstrap, jquery conflicts */ /* for dropdown menus */

Jump to content

Image of the Day

Today's #ScreenshotSaturday features Face Your Fears from Turtle Roc ... #virtualrealityshop #mobilevr #vrshop https://t.co/3qhSNAVNOZ
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net's newsletters to receive the latest updates and exclusive content.


Sign up now

Programming Language

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
24 replies to this topic

#1 Eckhart   Members   

107
Like
0Likes
Like

Posted 29 July 2011 - 01:31 AM

Hello, I've come in search of a non object oriented programming language. Maybe a procedural or imperative language. I have learnt a good deal of C# and XNA, but I hated the classes. I thought it would be much easier and simpler if I could just have my functions all in the same place, but logic and knowledge of OOP told me it wouldn't be good. And so I want to learn something different, Possibly C. I have learnt python in the past, though now my skills are getting rusty xD. I don't care how hard the language is(Preferably easier then assembly though :P), I just want to learn a good one so I can have a solid base for my programming endeavours.

All sorts of feedback appreciated, thanks (:

#2 lefthandman   Members   

138
Like
0Likes
Like

Posted 29 July 2011 - 02:00 AM

I would recommend C. You'll find quite a few discernible differences from C++ beyond the lack of OOP. It's perhaps the most important language I've learned.
ROFLMAO-GG-HF-GL-LOL-TTYL-BRB-GTG

#3 SuperVGA   Members   

1132
Like
0Likes
Like

Posted 29 July 2011 - 02:00 AM

Non object-oriented? Hmm... Depending on the preferred level of difficulty to manage things, I'd say QBASIC or FORTRAN for easy to learn and interpret,
that allow the programmer to do a limited amount of stuff excluding the ability to harm yourself and control the universe.
But aside from perhaps pascal and delphi, they don't look much like our mainstream programming languages of today.
I'd go with C since you already have programming experience, but python is way easier to please than C...

#4 rip-off   Moderators   

10737
Like
-1Likes
Like

Posted 29 July 2011 - 02:05 AM

Try a functional programming language.

Can you tell us what you hate about classes?

#5 Eckhart   Members   

107
Like
0Likes
Like

Posted 29 July 2011 - 02:43 AM

I would recommend C. You'll find quite a few discernible differences from C++ beyond the lack of OOP. It's perhaps the most important language I've learned.

Thanks, I think I will use it. Any suggestions on library?

Non object-oriented? Hmm... Depending on the preferred level of difficulty to manage things, I'd say QBASIC or FORTRAN for easy to learn and interpret,
that allow the programmer to do a limited amount of stuff excluding the ability to harm yourself and control the universe.
But aside from perhaps pascal and delphi, they don't look much like our mainstream programming languages of today.
I'd go with C since you already have programming experience, but python is way easier to please than C...

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Try a functional programming language.

Can you tell us what you hate about classes?

I always end up naming classes stuff like "player functions", "Map functions", "Battle functions", etc. Often I just don't bother with classes until I get too many functions to handle, then I might make one class for functions, then finally more and reformat it. I feel like it defeats the purpose of OOP.

Any examples of a functional programming language? They definitely sound like what I'm looking for. Thanks (:




#6 boogyman19946   Members   

1481
Like
0Likes
Like

Posted 29 July 2011 - 02:56 AM

Any examples of a functional programming language? They definitely sound like what I'm looking for. Thanks (:




You can find a list of functional languages over here : http://en.wikipedia.org/wiki/List_of_functional_programming_topics

It's in the last section. Haskell and Lisp I believe are most common but I don't know if Lisp isn't too old (supposedly Common Lisp was a revival of it which started in 2000 so might want to check that out). Lisp is multi-paradigm while Haskell is purely functional (I tried it once XD I failed epically so good luck!)

My personal links
- Khan Academy - For all your math needs
- Java API Documentation - For all your Java info needs
- C++ Standard Library Reference - For some of your C++ needs ^.^


#7 Eckhart   Members   

107
Like
0Likes
Like

Posted 29 July 2011 - 03:18 AM

Well, seeing as quite a few of the functional programming languages seem fairly limited, I think I'll go with C for now. any API suggestions?

#8 mhagain   Members   

12850
Like
0Likes
Like

Posted 29 July 2011 - 03:30 AM

Just learn C with the standard library for now; that's quite enough to be getting on with and there are more than enough concepts in there that will be new to you without confusing things further.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#9 Katie   Members   

2138
Like
0Likes
Like

Posted 29 July 2011 - 03:33 AM

If you've already used python it may be quicker to just re-acquaint yourself with it. Python will let you do OO, but it doesn't require it.

It has quite a nice games development API and also Python knowledge is useful in the commercial world if you go jobhunting at some point soon.

#10 Eckhart   Members   

107
Like
-2Likes
Like

Posted 29 July 2011 - 03:49 AM

If you've already used python it may be quicker to just re-acquaint yourself with it. Python will let you do OO, but it doesn't require it.

It has quite a nice games development API and also Python knowledge is useful in the commercial world if you go jobhunting at some point soon.


Haha... Python is a scripting language. Try making a fully networked MMO with it. It'll be horrible. I mean, I love python, but it's not powerful enough for a full game.
For Graphics API I'm probably going to use OpenGL.

Thanks for all the advice :D

#11 Telastyn   Members   

3777
Like
1Likes
Like

Posted 29 July 2011 - 07:12 AM

Haha... Python is a scripting language. Try making a fully networked MMO with it. It'll be horrible. I mean, I love python, but it's not powerful enough for a full game.


You mean like Eve? (Hint: written in python)

Part of learning a language is learning the idioms associated with that language. Changing languages isn't going to fix your inability to design your programs well.

#12 kunos   Members   

2254
Like
1Likes
Like

Posted 29 July 2011 - 07:25 AM

Haha... Python is a scripting language. Try making a fully networked MMO with it. It'll be horrible.


not much worse than coding the entire thing in C with "player functions" everywhere.

#13 Serapth   Members   

6668
Like
3Likes
Like

Posted 29 July 2011 - 07:32 AM

Try a functional programming language.

Can you tell us what you hate about classes?

I always end up naming classes stuff like "player functions", "Map functions", "Battle functions", etc. Often I just don't bother with classes until I get too many functions to handle, then I might make one class for functions, then finally more and reformat it. I feel like it defeats the purpose of OOP.

Any examples of a functional programming language? They definitely sound like what I'm looking for. Thanks (:


Moving to C isn't going to help you, you could program C# in pretty much 100% procedural style if you wanted, it would be pretty stupid, but you could do it. Frankly your description just illustrates you didn't learn enough about programming and went with a bad design. You are going to encounter the same problem in C. Your examples have ZERO to do with object oriented programming, as you've used them, classes are no different than C style structs.

I'm not telling you not to switch languages, I am just informing you, your problem with the language is your lack of ability, not the language. That problem is going to go with you from language to language until you actually take the time to learn how to program.

As to functional programming languages, LISP is the granddaddy of functional programming languages, Erlang and Scheme are two slightly more modern implementations and F# is one of the newest. Additionally, C# has gotten enough language extensions, it could effectively be considered a functional language as of C#4.

I wish I learned functional programming earlier in my career, as now its like reading Greek to me. That said, it's a right bitch to wrap your head around functional code.

Here for example is some F# code taken from Wikipedia
let rec factorial n = match n with | 0 -> 1 | _ -> n * factorial (n - 1)

#14 ChurchSkiz   Members   

1016
Like
0Likes
Like

Posted 29 July 2011 - 07:47 AM

Use C++ with DirectX or SDL and just leave out the OO stuff. This is what I did for my first few games. C++ can be used from a procedural standpoint without touching OO concepts. I'm not sure what kind of modern day support you'd get from using C as most modern APIs would write for C++. Also, if you get to the point where you think OO might make sense, you can "convert" without having to learn a new language or switch APIs.

#15 Radikalizm   GDNet+   

4743
Like
1Likes
Like

Posted 29 July 2011 - 07:48 AM

I have to agree with Serapth

Reading your comments it looks more like a lack of programming skills from your side, rather than a problem with the languages you're using, and switching languages will not help you in your cause since bad programming practices will stick with you no matter which language you choose

I advise you to take some kind of programming course (could be online, as long as it's decent), I know my coding style improved from the moment I started taking actual programming classes next to being self-taught

Instead of trying to blame it on the language, try to look into the aspects which you're not comfortable with yet and try to improve yourself, otherwise you can forget finishing any project no matter the size

Also, I would advise you to reconsider doing an MMO, I find it strange that even though there are so many threads and guides explaining exactly in detail why you shouldn't attempt an MMO, there are still new people on these boards every day who want to make one

I gets all your texture budgets!


#16 Bregma   Members   

8844
Like
0Likes
Like

Posted 29 July 2011 - 07:57 AM

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Heh, the C language, 1968. LISP: 1952. C++: 1990s. C#: early 21st century.

Design techniques are orthogonal to implementation languages. Switching implementation languages will not change your design technique. A craftsman does not blame his hammer when his two-legged stool will not stand up.
Stephen M. Webb
Professional Free Software Developer

#17 SuperVGA   Members   

1132
Like
0Likes
Like

Posted 29 July 2011 - 08:17 AM

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Heh, the C language, 1968. LISP: 1952. C++: 1990s. C#: early 21st century.

Design techniques are orthogonal to implementation languages. Switching implementation languages will not change your design technique. A craftsman does not blame his hammer when his two-legged stool will not stand up.


Yes, well I think he referred to FORTRAN (1953) and BASIC (1964, Given QBasic is rather new, from 1991) suggestions i came up with.
Obviously, old does not mean outdated. That goes for several languages. Although if regular, old fashioned Basic wasn't
"Outdated" i wouldn't think it so much fun to develop in. ... But that's a nostalgic hobby thing.

EDIT: I was first impressed at the early foundation of LISP, although Wikipedia tells me it's 1958. That's still earlier than what i would've guessed, though. :)

#18 Serapth   Members   

6668
Like
1Likes
Like

Posted 29 July 2011 - 08:29 AM

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Heh, the C language, 1968. LISP: 1952. C++: 1990s. C#: early 21st century.

Design techniques are orthogonal to implementation languages. Switching implementation languages will not change your design technique. A craftsman does not blame his hammer when his two-legged stool will not stand up.


You must be in this weird catch-22 situation, where you don't want people to upvote your reputation, no? ;)

#19 SuperVGA   Members   

1132
Like
0Likes
Like

Posted 29 July 2011 - 08:33 AM

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Heh, the C language, 1968. LISP: 1952. C++: 1990s. C#: early 21st century.

Design techniques are orthogonal to implementation languages. Switching implementation languages will not change your design technique. A craftsman does not blame his hammer when his two-legged stool will not stand up.


You must be in this weird catch-22 situation, where you don't want people to upvote your reputation, no? ;)


Hehe, -so do you! Posted Image (256 at the time of writing)

#20 Serapth   Members   

6668
Like
-1Likes
Like

Posted 29 July 2011 - 08:37 AM

Yeah, I don't think I'm going to bother with old, somewhat defunct languages. I understand C will be a challenge, but I'm up for it.

Heh, the C language, 1968. LISP: 1952. C++: 1990s. C#: early 21st century.

Design techniques are orthogonal to implementation languages. Switching implementation languages will not change your design technique. A craftsman does not blame his hammer when his two-legged stool will not stand up.


You must be in this weird catch-22 situation, where you don't want people to upvote your reputation, no? ;)


Hehe, -so do you! Posted Image (256 at the time of writing)


Haha, how weirdly karmic. I am totally one of those guys that watches the car odometer roll over, so yeah. Funny how being a programmer does wire you to see all the powers of 2.




Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.