LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
LinkBack Search this Thread
Old 09-17-2009, 12:34 PM   #1
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Rep: Reputation: 1
Arrow Linux need cross platform games development tools..


I tried to switch from windows to Linux several times but failed. Early on, my failure was largely due to the great difficulty of Linux and also due to lack of hardware support. nowadays I don't see these problems so Linux is becoming more and more ready for the mainstream user.

My view is that In order for people to make the switch from windows to Linux we need to prepare both programmers and users for this transfer:
1-most programmers should be working on (almost) 100% portable programming languages / libraries /APIs . so that they can switch from windows to Linux easily.
2- the ability to make windows programs work in Linux .so that people don't lose any "heavily invested in" windows programs when they go to Linux (I am especially talking about custom made programs).and this has to be a temporary step for few years until all windows programs "get old" .

Regarding #1: the WINE project is working on it. regarding #2: mono project is doing good job.

however there is one very important field where we are lagging behind: Game programming.

Even if all windows programs can work flawlessly in Linux , the complete switch will not happen unless programmers can port all their programs to Linux relatively easily. languages like java , python , c# can more or less do that BUT not in games.

we need cross platform DirectX or we need to develop cross platform API better than DirectX so that it is more attractive to developers than DirectX.

Game programmers should feel "Home" when they switch to Linux otherwise the switch is unlikely to happen and we will stay in the mud.

Any comments?
 
Old 09-17-2009, 01:19 PM   #2
damicatz
Member
 
Registered: May 2004
Distribution: FreeBSD 7, Debian "Squeeze", OpenBSD 4.5
Posts: 167

Rep: Reputation: 30
Quote:
Originally Posted by docesam View Post
I tried to switch from windows to Linux several times but failed. Early on, my failure was largely due to the great difficulty of Linux and also due to lack of hardware support. nowadays I don't see these problems so Linux is becoming more and more ready for the mainstream user.

My view is that In order for people to make the switch from windows to Linux we need to prepare both programmers and users for this transfer:
1-most programmers should be working on (almost) 100% portable programming languages / libraries /APIs . so that they can switch from windows to Linux easily.
2- the ability to make windows programs work in Linux .so that people don't lose any "heavily invested in" windows programs when they go to Linux (I am especially talking about custom made programs).and this has to be a temporary step for few years until all windows programs "get old" .

Regarding #1: the WINE project is working on it. regarding #2: mono project is doing good job.

however there is one very important field where we are lagging behind: Game programming.

Even if all windows programs can work flawlessly in Linux , the complete switch will not happen unless programmers can port all their programs to Linux relatively easily. languages like java , python , c# can more or less do that BUT not in games.

we need cross platform DirectX or we need to develop cross platform API better than DirectX so that it is more attractive to developers than DirectX.

Game programmers should feel "Home" when they switch to Linux otherwise the switch is unlikely to happen and we will stay in the mud.

Any comments?
There already is a 100% portable programming language. It's called C/C++. As for cross-platform APIs, there are lots. My favorite is QT since it handles just about everything from audio, documents formats, printing and widgets to 3D graphics, databases and XML.

We already have a cross-platform DirectX. It's called OpenGL with SDL (or with QT or another cross-platform library). DirectX currently sees more use because Microsoft has done a better job at marketing and propaganda. In addition, Microsoft "encourages" the use of Windows-specific APIs in games through the Games for Windows program.

As for the Mono project, this is dangerous (See also). Microsoft holds numerous software patents on .net. Only the basic C# language is standardized, the rest is proprietary to Microsoft. In addition, enough of .net is Windows-specific that it's never going to be a matter of a simple recompile unless the .net programmer writes the program to be cross platform from the beginning using something like GTK#.

I fail to see the benefit of .net. I can understand Java not being compiled to native machine code because it is designed to be cross-platform. .net is not. You cannot just take a Windows program not designed to be cross-platform and written in a .net language and recompile it on Linux without significant changes (though not surprisingly, it tends to be easier the other way around). All .net adds is unnecessary bloat (why does a 2 megabyte Windows program need a 120mb runtime?), memory usage and unneeded patent liability.

Last edited by damicatz; 09-17-2009 at 01:22 PM.
 
Old 09-17-2009, 01:41 PM   #3
archlinux_jessica
Member
 
Registered: Aug 2009
Location: PA USA
Distribution: Arch Linux
Posts: 78

Rep: Reputation: 19
Programming

You're stating that Linux doesn't have enough cross platforming tools for programming? Are you serious?

C/C++ has many tools that make things cross platforming if you don't mind a extra layer.

GTK, QT for cross platforming api tools.
ncurses for your console programming.
SDL for your 2D graphics and various aspects such as video, sound, networking and many other features.
OpenGL for your 3D graphics needs.

Now if your referring to editors, there are tons.

CodeBlocks, QT developer come to mind.
JDeveloper, Eclipse, Netbeans also come to mind as far as Java.
Even the basic editors, such as nedit have code highlighting features.

What more exactly are you talking about?

Wine also makes it possible to compile and test your Windows programs on Linux quiet well. Install Dev-CPP using wine and add the path to PATH in the batch file and compile using something like "wineconsole compile.bat"

Theres also FreeBASIC, and so many more tools for developing its mind boggling, and your still stating we need more? What exactly DO we need more?

Also if you want to lower the bloat of extra libraries, just use the native API's for each system and use #ifdef __WIN32__ to let the compiler determine what OS your using, but that kind of programming isn't for the lazy!

I personally find it much easier to program anything in Linux than Windows. The entire OS is shaped for it! I find SDL, OpenGL much easier to use than DirectX and not restricted to one OS. And if you HAVE to use DirectX, you can probably wine it.

As for C#... why? Can anyone please tell me the benefits of C# vs C?
 
Old 09-17-2009, 05:04 PM   #4
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by damicatz View Post
There already is a 100% portable programming language. It's called C/C++. As for cross-platform APIs, there are lots. My favorite is QT since it handles just about everything from audio, documents formats, printing and widgets to 3D graphics, databases and XML.
Thank you for taking the time to reply and disscuss my post.

I know that there are 100% portable languages out there. c and c++ are just few of them. the problem is not that. the problem is that most programmers do NOT use them. if you look to the market today you will find many programming jobs go to c#. is it because companies are brainwashed by Microsoft? or because visual studio 2008 is better than all and every open source IDE ? is it because c# has high productivity ? or what?

in the last few weeks i have been looking at various forums and i heard many people claim c# to be very productive and have got attractive visual studio 2008 that have no match in open source.

Quote:
Originally Posted by damicatz View Post

We already have a cross-platform DirectX. It's called OpenGL with SDL (or with QT or another cross-platform library). DirectX currently sees more use because Microsoft has done a better job at marketing and propaganda. In addition, Microsoft "encourages" the use of Windows-specific APIs in games through the Games for Windows program.
So developers are brainwashed? dunno but i dont think an experienced company/devepers/freelancers can be brainwashed that easy. right?


Quote:
Originally Posted by damicatz View Post

As for the Mono project, this is dangerous (See also). Microsoft holds numerous software patents on .net. Only the basic C# language is standardized, the rest is proprietary to Microsoft. In addition, enough of .net is Windows-specific that it's never going to be a matter of a simple recompile unless the .net programmer writes the program to be cross platform from the beginning using something like GTK#.

I fail to see the benefit of .net. I can understand Java not being compiled to native machine code because it is designed to be cross-platform. .net is not. You cannot just take a Windows program not designed to be cross-platform and written in a .net language and recompile it on Linux without significant changes (though not surprisingly, it tends to be easier the other way around). All .net adds is unnecessary bloat (why does a 2 megabyte Windows program need a 120mb runtime?), memory usage and unneeded patent liability.
So what language do you suggest?
c++? it is portable and produce fast and efficient binary but it is not productive.

what do you suggest?

Last edited by docesam; 09-18-2009 at 06:41 AM.
 
Old 09-17-2009, 05:10 PM   #5
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by archlinux_jessica View Post
You're stating that Linux doesn't have enough cross platforming tools for programming? Are you serious?

C/C++ has many tools that make things cross platforming if you don't mind a extra layer.

GTK, QT for cross platforming api tools.
ncurses for your console programming.
SDL for your 2D graphics and various aspects such as video, sound, networking and many other features.
OpenGL for your 3D graphics needs.
no ,i am not saying that. i am saying that most programmers are NOT using 100% portable libraries. they use windows spesific APIs as damicatz said. so it is increasingly defficult to convert this code to linux.


Quote:
Originally Posted by archlinux_jessica View Post
Now if your referring to editors, there are tons.

CodeBlocks, QT developer come to mind.
JDeveloper, Eclipse, Netbeans also come to mind as far as Java.
Even the basic editors, such as nedit have code highlighting features.

What more exactly are you talking about?
unfortunatly , all these editors (and all other open source ones ) are not a match to visual studio 2008 , not even close !
i hope one day open source community try to remove all these junk editors and IDEs and make a real one, like visual studio 2008.

Quote:
Originally Posted by archlinux_jessica View Post
As for C#... why? Can anyone please tell me the benefits of C# vs C?
productivity
 
Old 09-17-2009, 10:15 PM   #6
damicatz
Member
 
Registered: May 2004
Distribution: FreeBSD 7, Debian "Squeeze", OpenBSD 4.5
Posts: 167

Rep: Reputation: 30
Quote:
Originally Posted by docesam View Post
Thank you for taking the time to reply and disscuss my post.

I know that there are 100% portable languages out there. c and c++ are just few of them. the problem is not that. the problem is that most programmers do NOT use them. if you look to the market today you will find many programming jobs go to c#. is it because companies are brainwashed by Microsoft? or because visual studio 2008 is better than all and every open source IDE ? is it because c# has high productivity ? or what?
This may be true for application development but it most certainly is not for game development. The majority of games are still written in C++. To my knowledge (feel free to correct me on this one), there is not a single high-production value game that is written entirely in C# or .net. The only commercial C#-only games (and XNA games) that I know of are a handful of casual games; mostly on XBox Arcade.

Try installing a game from Steam sometime. A lot of games will try and install the Visual C++ runtime.

Quote:
in the last few weeks i have been looking at various forums and i heard many people claim c# to be very productive and have got attractive visual studio 2008 that have no match in open source.
That's the problem when you teach people programming on a slick, GUI based RAD environment that does all the work for you. You never learn any of the basic concepts and grow dependent on the automated development tools. Do they even teach concepts like the difference between the stack and the heap or how data-types work at the processor level in C# classes?

Quote:
So developers are brainwashed? dunno but i dont think an experienced company/devepers/freelancers can be brainwashed that easy. right?
No, Microsoft just provides financial incentive.

Quote:
So what language do you suggest?
c++? it is portable and produce fast and productive code but it is not productive.

what do you suggest?
QT is very productive too. It handles a lot of the nitty gritty details for you.

Java is productive (IMHO) as well. And it's actually cross-platform (despite Microsoft's efforts in the late 90s to sabotage it).

There is also Freepascal with Lazarus
 
Old 09-18-2009, 06:43 AM   #7
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by damicatz View Post
QT is very productive too. It handles a lot of the nitty gritty details for you.
QT is not free (as in bear).

Does QT provide complete platform independent API ?
 
Old 09-18-2009, 07:38 AM   #8
Wim Sturkenboom
Senior Member
 
Registered: Jan 2005
Location: Roodepoort, South Africa
Distribution: Slackware 10.1/10.2/12, Ubuntu 12.04, Crunchbang Statler
Posts: 3,786

Rep: Reputation: 282Reputation: 282Reputation: 282
QT is free as in beer if you license your product under LGPL or GPL.

see http://qt.nokia.com/products/licensing
 
Old 09-18-2009, 01:42 PM   #9
archlinux_jessica
Member
 
Registered: Aug 2009
Location: PA USA
Distribution: Arch Linux
Posts: 78

Rep: Reputation: 19
Interesting

"unfortunately , all these editors (and all other open source ones ) are not a match to visual studio 2008 , not even close !
i hope one day open source community try to remove all these junk editors and IDEs and make a real one, like visual studio 2008."

That is a personal choice my friend. What you mean to say is that you wish that the open source community will remove all these "nonLAZY" ide's and use the braindead version that you prefer.

Most companies are using C#? I seem to remember Java being dominate in that market. And once again we get to the whole dumbing down of programmers. Those that would rather "design" programs instead of "code" them. That's the main reason software is getting so out of control anymore. People are not worried at all about performance or security, but only about how much they don't have to worry about the "Details".

I mean I'm sorry you're post is all about opinion without substance. So you like Visual Studio API. Good for you. QT Open source is free and it has a very impressive IDE to go along with it. Just because you don't like it or didn't research it doesn't make it bad. I on the other-hand dislike the Microsoft Editors.

I wish people would stop trying to get into the programming profession because they just want a easy buck or they heard computers are the fad now. You don't hire a graphics designer that develops poor graphics or a electrician that wires things together that would create safety hazards. Why do people hire programmers that develop horrible and lazy code?

And as far as the programming languages go. You state its more difficult to develop for Linux because most people mainly develop with Win32 API's and not open source tools? How is that Linux's fault? They provide their programming tools and APIs for windows for the sake of being nice. Windows creates systems only for themselves. Yet somehow that's Linux fault? Maybe if you as a programmer would just learn X11 as well you could easily translate these programs to run along side windows using #ifdef __WIN32__ like I have been doing. It offers much better performance and runs smoother. Why does Linux have to risk lawsuits just because some programmers are too lazy to learn anything new? We need to stop catering to these lazy programmers and snap them back into reality. These people would NOT have survived the punchcard days. Programming changes as time goes by. Are you going to trust in someone who cant go out of their way to learn something new or someone who attempts to keep up and learn all they can? What happens if windows changes their API completely? Are you completely lost? What happens if Microsoft goes under, are you going to be stuck?

There has to be a line at some point.

</rant>

Sorry, this is just something that gets on my nerves.
 
Old 09-18-2009, 02:01 PM   #10
archlinux_jessica
Member
 
Registered: Aug 2009
Location: PA USA
Distribution: Arch Linux
Posts: 78

Rep: Reputation: 19
PS

Also one quick point. You've gone off topic I'm afraid.

The topic is Linux need cross platform games development tools..

And we stated it has an abundance of game development tools.

Now you've changed to "Linux needs cross platform game development tools that I'm already used to, ones that aren't cross platform."
 
Old 09-18-2009, 02:25 PM   #11
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by archlinux_jessica View Post
That is a personal choice my friend. What you mean to say is that you wish that the open source community will remove all these "nonLAZY" ide's and use the braindead version that you prefer.


Most companies are using C#? I seem to remember Java being dominate in that market. And once again we get to the whole dumbing down of programmers. Those that would rather "design" programs instead of "code" them. That's the main reason software is getting so out of control anymore. People are not worried at all about performance or security, but only about how much they don't have to worry about the "Details".

I mean I'm sorry you're post is all about opinion without substance. So you like Visual Studio API. Good for you. QT Open source is free and it has a very impressive IDE to go along with it. Just because you don't like it or didn't research it doesn't make it bad. I on the other-hand dislike the Microsoft Editors.

I wish people would stop trying to get into the programming profession because they just want a easy buck or they heard computers are the fad now. You don't hire a graphics designer that develops poor graphics or a electrician that wires things together that would create safety hazards. Why do people hire programmers that develop horrible and lazy code?
Thank you very much for taking the time to disscuss this matter.

Ok ,so you "claim" that MS VS is "braindead" .. let me tell you a few points :

=> have you ever seen a presedent of a country who go and supervise all and every policeman while that policeman organize traffic or arrest a criminal?
=> have you ever seen a CEO of a big company who check attendance sheets or check if that electrician that they called earlier on came and fixed that damn light?
=> have you ever seen .....

Are those people "braindead" and lazy? they are not.
It is just that those people don't need and SHOULDN'T do these stuff themselves. they have "Tools" and those "tools" do it for them,and they should use those tools otherwise they are just wrong. those people have to take care of big stuff ..right ?

Similarly, it is not that me or you or other people are lazy or "braindead". every efford made to code,debug,update,upgrade and add features to IDEs are well spent efford my dear!! . the idea is that every minute spent in developing those programming tools will save million and million (even billions) of programmer's time and efford.The matter is not that of PURE preference .

Idon't care about my preference ,i care about money. does those "featurless" open source IDEs have all MS VS2008 features and can save me money(i.e. time) ?


Quote:
Originally Posted by archlinux_jessica View Post

And as far as the programming languages go. You state its more difficult to develop for Linux because most people mainly develop with Win32 API's and not open source tools? How is that Linux's fault? They provide their programming tools and APIs for windows for the sake of being nice. Windows creates systems only for themselves. Yet somehow that's Linux fault? Maybe if you as a programmer would just learn X11 as well you could easily translate these programs to run along side windows using #ifdef __WIN32__ like I have been doing. It offers much better performance and runs smoother. Why does Linux have to risk lawsuits just because some programmers are too lazy to learn anything new?
it is not linux fault
 
Old 09-18-2009, 02:28 PM   #12
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Quote:
Originally Posted by archlinux_jessica View Post
Also one quick point. You've gone off topic I'm afraid.

The topic is Linux need cross platform games development tools..

And we stated it has an abundance of game development tools.

Now you've changed to "Linux needs cross platform game development tools that I'm already used to, ones that aren't cross platform."
my original point was : "Linux need cross platform games development tools that becomes the preferred programming API(i.e. industry standard"
 
Old 09-18-2009, 02:34 PM   #13
docesam
LQ Newbie
 
Registered: Jun 2003
Posts: 14

Original Poster
Rep: Reputation: 1
Just i want to clarify a point: we are not off topic if you understand what i mean...

because micro$oft provide tools(APIs,IDEs..etc) that make programmers faster in writing code ,programmers all over the world choose micro$oft tools and because of that windows prevail.

we (the open source community) have to provide those programmers with similar or even better tools so that they choose our (cross platform) tools and Linux can prevail.

one major area where this is obvious is games programming.

got my point?

Last edited by docesam; 09-18-2009 at 02:37 PM.
 
Old 09-18-2009, 02:57 PM   #14
archlinux_jessica
Member
 
Registered: Aug 2009
Location: PA USA
Distribution: Arch Linux
Posts: 78

Rep: Reputation: 19
I'm afraid I don't get your point. Microsoft provides designers and tools for their OS only, yet your topic is about cross platforming tools. Linux provides every programming system under the sun as well, but because you don't like them, you seem to think they are bad.

And I'm afraid your wrong on all points. It saves time? If you provide a standard of functions and codes to use on any language, you can easily save time. Being able to save time and not sacrifice performance or security is a very good, yet often overlooked. I can design web pages faster and more powerful than any person using Web Design tools, because I can easily see what the results are going to look like as I'm coding. Editors provide limited functionality because they restrict the user to a certain set of rules. No matter how well designed a editor is, it cannot provide the creativity and customization that the programming world needs.

My company uses various Java tools and apps using oracle PLSQL systems. These tools are all comparable on Linux, so I don't see your point in how Linux does not have corporate strength tools.

"=> have you ever seen a presedent of a country who go and supervise all and every policeman while that policeman organize traffic or arrest a criminal?"

Apples and Oranges my friend. Does a Boss need to review the code written by their programmer character by character? Or can they just run the code and see it does the task with a level of performance allowed. Your example has no barrings on this conversation at all.

"=> have you ever seen a CEO of a big company who check attendance sheets or check if that electrician that they called earlier on came and fixed that damn light?"

Again not a good example to use. The electrician is a person. He does the job and if he doesn't do it well the customer complains and he gets fired. Good programmers develop good code, lazy programmers develop bad code. Just because it works doesn't make it a good program, if its completely bloated or is full of security bugs due to the editors shortcomings.

Linux provides the people with all the tools they use. Why do you think the mostly used server companies rely on is Linux based? Because its well designed and does the job without needless bloatware or security loopholes.

The Linux kernel is the largest software project in the world. People add and change thousands of lines of code daily nonstop, using basic editors and email. Seems pretty fast to me.

-Jessica-
 
Old 09-18-2009, 03:08 PM   #15
archlinux_jessica
Member
 
Registered: Aug 2009
Location: PA USA
Distribution: Arch Linux
Posts: 78

Rep: Reputation: 19
PS - again

Codeblocks is a very nice and quick development system to use.
QT is as well.
JDeveloper/NetBeams/Eclipse for Java.

I really don't understand what more do you want? They are cross platforming, industrial standard.

QT sounds to me like what you're looking for really. You can use the Free and Open Source Version of the corp version. And because you stated you want something industrial strength, that seems to match what you want.

OpenGL is just fine, look at World of Warcraft. Surely you can't say the OpenGL version is inferior to the DirectX version. They are identical.

SDL is so much more simple than DDraw.dll Cario is so simple and powerful as well. Companies dont use them? Look at Yahoo games and youll see a sdl.dll that comes with their projects. Imagine that!

Many great game works have been developed using these tools.

My question is, are you looking for a answer? Or are you trying to complain? We've given you everything you ask yet you belittle it every chance you get without real explanations on why except "Its not good enough for me!" or some baseless claim.

I'm sorry I just don't know what more do you want/
 
  


Reply

Tags
cross, directx, games, linux, platform, programming, windows


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Cross platform development with JRuby and Swing LXer Syndicated Linux News 0 10-10-2008 04:30 PM
New to LQ with Cross Platform tools RufusG LinuxQuestions.org Member Intro 1 08-27-2008 02:30 AM
LXer: Giving some Juce to cross-platform tools LXer Syndicated Linux News 0 12-19-2006 10:03 AM
Cross Platform GUI development Artik Programming 15 06-29-2005 06:36 PM
Cross platform software development ssmaitra Programming 4 05-16-2005 01:15 AM


All times are GMT -5. The time now is 02:35 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration