| We hope you enjoy your visit. You're currently viewing the Ultimate 3D Community as a guest. This means that you can only read posts, but can not create posts or topics by yourself. To be able to post you need to register. Then you can participate in the community active and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you are already a member please log in to your account to access all of our features: |
- Pages:
- 1
- 2
| The Programming topic | |
|---|---|
| Tweet Topic Started: Jul 19 2012, 04:08 AM (770 Views) | |
| zelda4evr | Jul 19 2012, 04:08 AM Post #1 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I don't know if a topic like this has been started before. But what programming languages do you personally prefer to use or wish you could. What languages do you suggest for others to start with and make the jump from gml. Do you suggest they start gradually, and move from gml to something simple and work their way up to something better or make a complete ascend and stay there for their own personal benefit. I messed with u3d+python for a bit and other than when I had a lib for creating nintendo ds games that was almost identical to working with GM I haven't really tried anything. Also how do you personally feel about these languages such as python, BASIC, Java, C(#,pp) I know nothing about actions or anything with these languages and often ponder on how scripted events would look and function when I should probably just be learning and finding out for myself. |
![]() | |
![]() |
|
| Gandalf20000 | Jul 19 2012, 05:43 AM Post #2 |
![]()
Geek
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I've used Python, Java, and C++ (and GML, obviously). My favorite is C++ because of the pure power and the incredible flexibility. C++ is for the ultimate OCD programmer and control freaks. Java irritates me because it's like C++, except when it's not. I can't tell you how many times I've wanted a direct copy of an object (which C++ handles rather easily), but I've had to build a new object or use a function to copy the object instead of just returning a copy, because Java returns by reference. I haven't used Python a whole lot, but it was rather easy, and most people can probably get the basics down in a week or less. Experienced programmers can probably learn the language in a day. I've also tinkered a little bit with x86 and x64 ASM, but I wouldn't mind learning more. I won't count shader languages, because all prominent shader languages are either assembly-based (and obsolete, usually) or C-based. HLSL, Cg, and GLSL are all like C with a few minor tweaks. I've had some experience with HLSL (mainly SM 5.0), but I've done a lot of work with GLSL recently for the Android game my brother and I are making. I've never really used C#, but it would probably be useful to learn, and I've heard it's not too different from Java. I feel that the best way to learn programming is to start on an easier (but well-built) language that can teach good OOP principles like Java or Python (not GML), but then quickly move on to C++ before getting too used to automatic garbage collection. Pointers and references can be really useful, but they are often confusing to the beginner, and using a language that always passes by reference can make simple beginner tasks easier. However, it does pay off to learn C++ and develop a much cleaner, more efficient style of coding. Although Java programmers might like you to believe so, automatic garbage collection is not always a good thing, and all performance-intensive programming is best done in languages like C or C++ (on average C++ is marginally slower than C, but C++ is also usually more consistent about its speed). Also, you have to consider that even though under certain circumstances, languages like Java may approach the speed of languages like C++, but Java will ALWAYS consume more memory because it must run the JVM. Java is generally okay for game programming so long as your engine is built in a faster language. Python is in a similar boat, and actually tends to be significantly slower than Java (according to the benchmarks I've seen). Python is best used as a scripting language, and although some people do make game engines for it, it's really best to keep your Python programs simple. Another interesting language worth looking into is Lua. Getting back to my main point, here's a rundown of the languages I've used: C++: Pros:
Java: Pros
Python: Pros:
In other words, C++ reigns supreme, Java is C++ for dumb people by dumb people, and Python is a nice little lightweight scripting language. |
![]() |
|
| zelda4evr | Jul 19 2012, 06:05 AM Post #3 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
see I think I've figured out the mindset of how people work. Most humans want instant gratification and they want their game NAOW without spending too much time learning how to make it in the first place. So they start searching for simple programming languages(hopefully they don't get stuck on FPScreator or something) they find gml and figure they can finish their game in gml in the same time it would take to even learn where to start in lets say cpp. Then they realize they can't even have half the mechanics they want and want to move on but still don't want to "waste" time learning something new so they feel stuck. I just installed pyu3d, last time I touched it was in 2010(2 years ago) I feel my techniques have matured even though I've been using mostly GM lately(some unity and other things) so we'll see what happens with this. I would like to call myself a programmer, but using gml doesn't feel like programming its more like telling a construction worker how you want your house built in a language he spent 3 months learning... |
![]() | |
![]() |
|
| Dr. Best | Jul 19 2012, 10:18 AM Post #4 |
|
Administrator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Over the years I've been working with many programming languages. The ones I have spent most time with sorted top down are probably:
Java is ok, but I do not like it that much. It makes lots of compromises on control and flexibility to keep things simple. Execution speeds are not so much worse than in C++, but they are worse, especially in cases where you have big data. GML and PHP are just awful. C is alright, but everything that is in there is also in C++. So if you want to get somewhere in game development learn C++ and Python. If you do not have the time to do so, learn only Python or some other language less complex than C++. In this case you won't be able to make games, which are top-notch from a technological point of view. Also, this might help to clarify some relations. |
![]() |
|
| zelda4evr | Jul 22 2012, 03:14 AM Post #5 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
It seems that python is very flexible and modifiable, people use it in many different ways. It can be converted and compiled as C or can be used along side other languages as a simple scripting language. There are many extensions to it as though people are trying to make it something more(PyU3D, PyOGRE, PyODE) than what it was intended for(Python was originally intended to handle administration) but even with all this when using it you may feel constricted. Out of all the people that use it and extend it you would think that there would be a way to integrate it into a web page. Well there is, there are converters that will turn your pyscript into a simple java applet, or java script. But these only work with Python as itself, no addons(that I know of) will work. What would you think of a web plugin that executes python? or some compiled version of python... Panda3d has their own plugin that lets compiled p3d files run in your browser but panda3d is c++ based(python or c++ controlled though) If I knew anything about writing plugins I would do it myself, I'd be happy with a pyu3d only plugin that'd be the day, U3D in the browser.edit: https://developers.google.com/appengine/docs/python/overview If I'm not mistaken after reading about this, google has an interpreter for python 2.5 and 2.7(and all modules) and will host your app(free up to a certain amount of resources, paid after) this Google App Engine also works with Java and The Go Programming Language Also I'm interested in what some of your very first programming language uses were, if they were successful or not and how long you stayed with them before moving on. It seems like people in cpp start there and stay there, but since I originated from the GMC it seems more logical(because these are the only people I have encountered really) for people to start small and simple before moving up to something advanced. If you were to do it over again would you have chosen a different language to start with or would you explore more possibilities from the start? Do you think its possible to be dabbling in too many different languages at once? Edited by zelda4evr, Jul 22 2012, 03:44 AM.
|
![]() | |
![]() |
|
| RonBurgundy | Jul 22 2012, 03:42 AM Post #6 |
|
Forum Borat
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
This is interesting good info here. C++ is the most effecient imo, just wish I could use it better. I admit that gml is what got me into c++, primarly to make games but now I want to make applications(and monies ).
|
| !!! DEFEND POP PUNK !!! | |
![]() |
|
| zelda4evr | Jul 22 2012, 03:55 AM Post #7 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I'm in the same boat(except for the cpp part, I touched it when I was like 11 and it scared meh o_O, should probably look at it now) as much as I love game design and graphic design I feel like my calling is more towards apps that generate revenue. Whether this be by having a lot of small free apps that have ads, or a few larger scale items that are low cost. I have a youtube account that is monetized I have my first 2 subscribers :3 which is surprising because I have very little content. With youtube I could make that the only place to find the download links for my games which means each person that downloads it makes me moneh. But I'm not sure if I want to do that yet, my channel right now is centered around video editing(2d and 3d, and 2d&3d(augmented reality rendering anyone?) together) I feel like I'm at the point where I am(or should be) right on the verge of being very successful using my skills to generate something. But I'm floating under the radar right now, which is my fault because I'm way too lazy to create anything worthwhile most of the time. |
![]() | |
![]() |
|
| Dr. Best | Jul 22 2012, 03:58 PM Post #8 |
|
Administrator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Ultimate 3D. Yes. Still at it. Actually there have been a few projects before that. Ultimate 3D was my first C++ project, but before that I did some simplistic 2D games in Game Maker, toyed around with 3D graphics in Game Maker 5.1 and even earlier than that I used a pinball creator program to "program" a virtual pinball. Python is a general purpose programming language. It is meant to be extensible and useful for nearly anything. Learn more about it. Its imperfect execution speed is a restriction in some scenarios, especially in game programming, but other than that it is really powerful. What you are asking for would require the execution of native machine code by means of the browser. Recently there have been some trends to achieve this (Flash has such a system, the Unity webplayer does it, Chrome opens ways to do so, etc.), but generally I do not like that very much. Native code can do lots of nasty things. Allowing web pages to execute it seems like a severe security risk. If I want to execute native code, I download and run it. C++ was a great choice for me. In my opinion it is good to start with relatively few programming languages (one or two). Once you have truly understood them, you should be able to get into other new languages quite easily. |
![]() |
|
| zelda4evr | Jul 22 2012, 10:47 PM Post #9 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I like your answers, I feel like if I can learn a lot about python it will help me move on but its stumping me in a lot of places because other than html, java script, php, and gml, its my first attempt at doing something real. I've only been at it for a couple days and it seems very promising already. |
![]() | |
![]() |
|
| roflcopterz | Jul 22 2012, 11:19 PM Post #10 |
![]()
Forever Lisp'n
![]() ![]() ![]() ![]() ![]() ![]()
|
C++ is my god. C++ is all I need. |
|
The three virtues of a programmer: - Laziness - Impatience - Hubris | |
![]() |
|
| Sothh | Jul 22 2012, 11:22 PM Post #11 |
|
Shaman Of Time
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Right now I must say I am leaning toward C#, though I can program in just about anything. For the most part, I don't really need the raw power of C++, but I still like dealing with a C flavor, so C# is a nice middle path. I mainly only use Python now days for scripting, as it was made more. Not that I see anything wrong with taking it beyond that. And I have not touched Game Maker in years. |
|
“You can’t outrun Death forever. But you can make the Bastard work for it.” Major Korgo Korgar “Last of The Lancers” - AFC 32 (Andromeda Ascendant Record Database) | |
![]() |
|
| zelda4evr | Jul 22 2012, 11:38 PM Post #12 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I see on your site it looks like you're using panda3d, how's that? I have it installed and have skimmed over the sample demos but didn't like what I saw on how it has to be used really. |
![]() | |
![]() |
|
| Despellanion | Jul 23 2012, 12:01 AM Post #13 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
C# is no harder to program with than GML in my opinion. Sure there are some more stuff to think about, but the basic principle is the same. |
![]() |
|
| Dr. Best | Jul 23 2012, 12:26 AM Post #14 |
|
Administrator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
There are always two types of being "hard to program with". The first one means, that it is hard to learn the basics needed to be able to achieve goals. In this regard GML is a great language, because the entire syntax description fits on a few pages. The second one means, that it causes a lot of work to achieve a particular goal with the language. This is where GML is awful. If you want to do more than another breakout clone, things get awfully messy. In this sense working with C++, Python, C#, Java or pretty much any other language is easier. The above also applies to the depth in which you learn a language. Learning it in greater depth is harder, but makes achieving goals a lot easier. Given the right framework you could code in Python just like in Game Maker except for some minor syntax differences, but things would get just as messy. Learning more language features makes things easier. |
![]() |
|
| Despellanion | Jul 23 2012, 12:30 AM Post #15 |
|
Forum God
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
In this sense I meant learning and getting started with. At least if you have programmed before. |
![]() |
|
| Go to Next Page | |
| « Previous Topic · Off-topic · Next Topic » |
- Pages:
- 1
- 2





![]](http://z1.ifrm.com/static/1/pip_r.png)





that'd be the day, U3D in the browser.
).

2:41 AM Jul 11