Python advice

Chris Kaynor ckaynor at zindagigames.com
Mon Sep 22 15:00:13 EDT 2014


On Mon, Sep 22, 2014 at 11:03 AM, Dave Angel <davea at davea.name> wrote:

> > I need a way forward on what more free ebooks i can get mt hands on so i
> can accomplish my goals.
> >
> > I need some advice. should i go on to learn other languages like java or
> c++ cos i want to be able to using all these knowledge for games, desktop,
> mobile and web.
>
> You certainly should learn other languages.  I used about 35
>  during my career.  But until you've mastered one, c++ and Java
>  will probably be more confusing than helpful.  There are others
>  you probably need first,  such as html, css, regex. And other
>  skills,  such as a debugger,  profiler,  customizable editor.


A lot of what you should learn will depend on what you want to do.

As a rule-of-thumb I'd recommend sticking to one or two high-level
languages until you are reasonably comfortable with them, then possibly
branching to other languages. As you've already started with Python, I'd
continue on it for a while. Possibly throw in Javascript/HTML/CSS for
web-development - for server-side code you could look in the to various
Python web frameworks, or learn PHP for those.

Once you are comfortable with at least one of those, you can consider
branching off into other languages as your projects need.

A few languages and their major strengths:

   - Python is pretty good base-line language. It is really good as a glue
   language to piece together other components, or for IO-bound or user-bound
   code, but will not preform well enough for many other applications such as
   games. It is good for short parts of games, but a full next-gen engine
   would be much too slow if written in pure Python, however Civilization 5
   uses Python as its scripting language. There are also libraries available
   that can provide enough performance to do basic games in Python.


   - C# is another good base-line language, although its much more limited
   to Windows (there are ways to run it on Mac and Linux, but not as easily).
   The main benefit it has is that, if you have Visual Studio, you get a nice
   UI designer built-in. Overall, this is a decent option for Windows-only GUI
   applications, and can be expanded with other libraries to other platforms,
   including many mobile platforms. Some web-servers can also run it as a
   server-side language.


   - Javascript is basically a necessity for web-based applications, as it
   is the only language that is commonly runnable across all browsers. There
   are, however, compilers that can (with some success) convert other
   languages to Javascript. (note: Javascript runs in the browser, primarily)


   - PHP is another commonly used web language, and is widely supported by
   servers. Anymore, there are also good Python libraries available for
   server-side webpages, although whether you can use them will depend on the
   server you are using. For some of the free servers, even PHP may not be
   supported, and you will only be able to do static sites (no server-side
   code).


   - C/C++ are both low level, and therefore generally harder to learn but
   provides much better performance than many other languages. I'd recommend
   putting these off until you are more comfortable with other, higher-level
   languages.


   - LUA is a commonly used scripting language for games. You'll find many
   engines have LUA support, as it tends to be very light-weight. I'd only
   recommend LUA if you want to program in one of those engines. World of
   Warcraft is one game I know of that has public support for LUA when making
   UI mods.


   - Objective-C is one of the main languages used for IOS (Apple)
   development.


   - Java is a commonly used language for Andoid development.

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140922/36dc6eb2/attachment.html>


More information about the Python-list mailing list