Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


1 language to rule them all?


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
17 replies to this topic

#1 Aether Born   Members   -  Reputation: 124

Like
0Likes
Like

Posted 02 March 2014 - 08:14 PM

Hi I am a new student and im studying coding. Was just curious as to whether i should stick to one language or not. I am interested in making games for multiple platforms so should i stick with one language? Is that possible for making multi device games? I know html5 and a little java. My goal is to learn to program my own engine even if i use programs like unty later it would help me undertand the concept behind game code. please any helpful advice for a first timer is appreciated. thanks



Sponsor:

#2 EddieV223   Members   -  Reputation: 1406

Like
5Likes
Like

Posted 02 March 2014 - 08:23 PM

I suggest learning Unity first, this way you see what a real engine looks like, how it behaves, and what it's capable of.  Also it gives you a platform to learn within.


If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#3 Aether Born   Members   -  Reputation: 124

Like
0Likes
Like

Posted 02 March 2014 - 09:15 PM

I understand the basic concept, used to mod quake 3 half life unreal back in the day. Just never worked with the code always had buddies to do that for me. What do u think of programs like unity? Are they that good of a dev tool? Im still learning dont want programs like that to hinder myself learning a language. I want to get really good at coding am practicing everyday just dont want dev tools making it easy on me. I tend to learn better with a greater challenge. Trying to learn one language at a time, dont want to get confused studying more than one at a time. But my original question was should i stick with one language for all games, or is it better to learn others for different platforms. Was hoping I could port to different devices using one language.


Edited by Aether Born, 02 March 2014 - 09:21 PM.


#4 Serapth   Crossbones+   -  Reputation: 5591

Like
9Likes
Like

Posted 02 March 2014 - 09:26 PM

If you encountered a tradesman that would only use a red robbie screw driver, would you fire his ass on the spot?

 

 

I would.

 

 

A programmer that learns only one language is like a carpenter that only uses screws.

 

 

That said, at first, you should really focus on learning your shit in one language before trying to learn dozens of other ones, so its a double edged sword.  Simply put though, the [experienced] programmer that only works in C++, or C#, or Java or HTML/JavaScript, well, that programmer is generally pretty awful.



#5 SeanMiddleditch   Members   -  Reputation: 6432

Like
2Likes
Like

Posted 02 March 2014 - 09:43 PM

s just curious as to whether i should stick to one language or not.


There's a mantra I like to suggest people to stick to: a programmer should learn at least one new language every year. You don't need to master it or use it in your day-to-day work, but at least being familiar with other languages, their core concepts, and how to do things in them is super useful. Even if you never, ever use pure functional programming in your job (as a game programmer you almost certainly won't) understanding elements of functional programming and their uses and how to apply those to solve real-world problems will make you a significantly stronger engineer in the language you do use every day, for example.

#6 Aether Born   Members   -  Reputation: 124

Like
1Likes
Like

Posted 02 March 2014 - 10:23 PM

Thank you, your insight has been most helpful. I now have a focus for my goals, on to the practice.



#7 TorbenC   Members   -  Reputation: 236

Like
6Likes
Like

Posted 03 March 2014 - 12:07 AM

I believe a language is not a tool itself, but a tool kit. Paradigms, algorithms, patterns, these are the tools within the tool kit that is the language.

 

Because of this, the statement above about the red screw driver,  is not really valid in my opinion. Someone who uses only one language can definitely be more than adequate for the majority of teams. What matters are the tools available in his tool kit with that language.



#8 Nathan2222_old   Members   -  Reputation: -400

Like
-3Likes
Like

Posted 03 March 2014 - 12:29 AM

I believe a language is not a tool itself, but a tool kit. Paradigms, algorithms, patterns, these are the tools within the tool kit that is the language.

Because of this, the statement above about the red screw driver, is not really valid in my opinion. Someone who uses only one language can definitely be more than adequate for the majority of teams. What matters are the tools available in his tool kit with that language.

Finally :). ++2(2)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


#9 Bacterius   Crossbones+   -  Reputation: 9066

Like
6Likes
Like

Posted 03 March 2014 - 04:17 AM

I believe a language is not a tool itself, but a tool kit. Paradigms, algorithms, patterns, these are the tools within the tool kit that is the language.

 

Because of this, the statement above about the red screw driver,  is not really valid in my opinion. Someone who uses only one language can definitely be more than adequate for the majority of teams. What matters are the tools available in his tool kit with that language.

 

Yes, but for a student with possibly little to no job security or software work experience, it usually matters more to open (or at least not close) as many doors as you can, so that you don't starve to death waiting for that one perfect job that uses the few skills you have honed to perfection. So that's not really applicable in this case. Plus learning new languages lets you explore other paradigms, something that isn't often possible if you stick to a single language because you tend to stagnate on what you already know (or simply what the language offers, in some cases), or maybe that's just me.

 

Either way I would definitely not consider this an excuse for not learning more languages in the OP's case, and would advise treating this as very circumstantial advice.


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#10 Buster2000   Members   -  Reputation: 1716

Like
3Likes
Like

Posted 03 March 2014 - 07:22 AM


I believe a language is not a tool itself, but a tool kit. Paradigms, algorithms, patterns, these are the tools within the tool kit that is the language.



Because of this, the statement above about the red screw driver, is not really valid in my opinion. Someone who uses only one language can definitely be more than adequate for the majority of teams. What matters are the tools available in his tool kit with that language.

 

But paradigms, algorithms and patterns are language agnostic.  So I would say that languages are not the tool kit but the tool and that patterns, algorithms etc.. are just the carpenters blueprints and that the red screwdriver theory still holds up.

 

Also someone wo uses only one language may be adequate but somebody who can use many languages can be indispensable.



#11 Aether Born   Members   -  Reputation: 124

Like
0Likes
Like

Posted 03 March 2014 - 07:30 AM

 

 open (or at least not close) as many doors as you can, so that you don't starve to death waiting for that one perfect job

 

Loved that tyvm

 



#12 Aether Born   Members   -  Reputation: 124

Like
0Likes
Like

Posted 03 March 2014 - 07:33 AM

OK so no mastering a single language, ty.

Im not looking for a world class job.

Just want to make a "good" game if only 1.

 

However

 

Am becoming more interested in different codes and the way they communicate with each other. 



#13 Nightgaunt   Members   -  Reputation: 262

Like
0Likes
Like

Posted 03 March 2014 - 12:33 PM

If you're looking at mobile platforms, you have an advantage with already knowing HTML5 since that, with maybe a bit of JavaScript, would enable you to write a program that can run on pretty much all mobile platforms.



#14 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 04 March 2014 - 12:49 PM

If comfortable with Java, then you should stick with it for now.  Its a very popular language, and seeing much use in the field of programming. For games its been used for the older mobile phones and now for the Android platform.



#15 EricsonWillians   Members   -  Reputation: 288

Like
0Likes
Like

Posted 04 March 2014 - 10:53 PM

A programmer that learns only one language is like a carpenter that only uses screws.

 

 

I believe a language is not a tool itself, but a tool kit. Paradigms, algorithms, patterns, these are the tools within the tool kit that is the language.

 

Because of this, the statement above about the red screw driver,  is not really valid in my opinion. Someone who uses only one language can definitely be more than adequate for the majority of teams. What matters are the tools available in his tool kit with that language.

 

I agree with Serapth. Despite the fact that a language is a "tool kit" and that one could master a specific one, learning other languages is likely to make you a better programmer. In my opinion, one could not fully understand the power of Python or Javascript having programmed just in Python or Javascript, and never in a strongly-typed language such as C. The same could apply for C when compared to functional languages such as Haskell or Lisp (Which Python incorporates, to a certain degree, their philosophies). I would go a bit deeper and say that one could never fully understand a high-level programming language without never having a grasp of what is a low-level programming language such as C or x86 Assembly.

As John Carmack said:
 

Low-level programming is good for the programmer's soul.

 


Edited by EricsonWillians, 04 March 2014 - 10:57 PM.

Creator and only composer at Poisone Wein and Übelkraft dark musical projects:

 


#16 SunDog   Members   -  Reputation: 232

Like
0Likes
Like

Posted 05 March 2014 - 02:39 PM

A good programmer is going to need several languages in his toolbox.  Depending on the what the specific field they are in, these languages will differ

 

Unmanaged "systems level" language  -: C and C++ are pretty much the only canidates here, though D is on the horizon

Managed  "application level" language - C#, Python, Java 

Scripting language - LUA

Web (client side) - Javascript, HTML

Web (server side) - Java, PHP, Ruby, Python

Database - SQL ( I really wish Datalog were a valid option here)

And last by not least, the "I'm cool and know more than you" functional languages - Scheme, Erlang, Haskell :-)



#17 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 05 March 2014 - 03:16 PM


Web (server side) - Java, PHP, Ruby, Python

 

You forgot Javascript.


Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#18 Serapth   Crossbones+   -  Reputation: 5591

Like
0Likes
Like

Posted 05 March 2014 - 04:51 PM

 


Web (server side) - Java, PHP, Ruby, Python

 

You forgot Javascript.

 

 

Node is very cool for working on the server side ( JavaScript ), but I do have to say, Callback hell make things really ugly really fast.






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