Jump to content

  • Log In with Google      Sign In   
  • Create Account


Programming Language


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   -  Reputation: 108

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 (:

Sponsor:

#2 lefthandman   Members   -  Reputation: 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   -  Reputation: 1118

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   -  Reputation: 7675

Like
0Likes
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   -  Reputation: 108

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   -  Reputation: 1029

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!)
"If highly skilled generalists are rare, though, then highly skilled innovators are priceless." - ApochPiQ

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

#7 Eckhart   Members   -  Reputation: 108

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   Crossbones+   -  Reputation: 7448

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   -  Reputation: 1283

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   -  Reputation: 108

Like
-1Likes
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   Crossbones+   -  Reputation: 3722

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   Crossbones+   -  Reputation: 2188

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.
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#13 Serapth   Crossbones+   -  Reputation: 5181

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   -  Reputation: 434

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   Crossbones+   -  Reputation: 2774

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

#16 Bregma   Crossbones+   -  Reputation: 4768

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   -  Reputation: 1118

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   Crossbones+   -  Reputation: 5181

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   -  Reputation: 1118

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   Crossbones+   -  Reputation: 5181

Like
0Likes
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.



PARTNERS