Job Spotlight

Games Programmer
Dependant on experience
UK - London

Jonathan Blow criticises Linux dev tools

Jonathan Blow criticises Linux dev tools

Windows has problems but lack of decent IDEs holds open source platform back, says Braid developer

Linux as a games platform is being held back by chronic shortcomings with IDEs and debuggers, says Braid developer Jonathan Blow.

The award-winning developer of the time-bending platformer has tried Linux development in the past, but said he found the experience frustrating.

"The main reason is that debugging is terrible on Linux. gdb is just bad to use, and all these IDEs that try to interface with gdb to "improve" it do it badly (mainly because gdb itself is not good at being interfaced with)," wrote Blow in a post on Ycombinator.

"Someone needs to nuke this site from orbit and build a new debugger from scratch, and provide a library-style API that IDEs can use to inspect executables in rich and subtle ways."

While some offered a defence of the GNU Project Debugger (GDB), the majority of responses spoke of similar issues when trying to break away from a Windows-centric developer environment.

Advertisement

"Productivity is crucial," continued Blow.

"If the lack of a reasonable debugging environment costs me even five per cent of my productivity, that is too much, because games take so much work to make. At the end of a project, I just don't have five per cent effort left any more."

With Valve now offering Steam for Linux users, there may be more financial incentive to provide native professional-quality development tools, but this will take time and money that many developers can't afford.

But many developers feel they have more incentive to move away from Windows, and this could begin to turn the tide.

"That said, Windows / Visual Studio is, itself, not particularly great," said Blow.

"There are lots of problems, and if someone who really understood what large-program developers really care about were to step in and develop a new system on Linux, it could be really appealing. But the problem is that this is largely about (a) user experience, and (b) getting a large number of serious technical details bang-on correct, both of which are weak spots of the open-source community."

One of these technical details is the lack of an audio standard on Linux.

Blow points out that issues with OpenGL are now a "red herring", but so long as sound remains a problem, Linux is going to pose problems for serious game development.

"I would be very happy to switch to an open-source operating system," concluded Blow.

"I really dislike what Microsoft does, especially what they are doing now with Windows 8. But today, the cost of switching to Linux is too high. I have a lot of things to do with the number of years of life I have remaining, and I can't afford to cut 20% off the number of years in my life."

 

Unix is its own IDE

posted by Matt Feb 06, 2013 at 12:00 am
1
Matt

Personally I feel attacks against GDB are *mostly* warranted though I personally find that I am much more productive programming in a properly configured Linux environment than any windows/visual studio based system.

Another complaint I would have about using Linux as a development system/target platform is directed towards certain Linux-based console manufacturers who feel the need to create installers for their sdk/compiler suite (I'd rather be given a tarball) which then also remove symlinks to the system's gcc, require me to create new symlinks to folders that the installer itself created, and then only work on some distributions without critical failures. I'd rather spend all day compiling your libs/compilers than have to deal with debugging a faulty sdk.

  • + 0 
  • - 0 
  • 0

so sad story

posted by Rodislav Feb 06, 2013 at 12:28 pm
2
Rodislav

"Hey Joe" you should do some acting instead of programing :))) you made me cry :))))

you can find such problems in any platform.. maybe the big problem is that - you simply don't know how to use linux !?

  • + 0 
  • - 0 
  • 0

Blow is right, Stallman's fault

posted by dottrap Feb 08, 2013 at 10:06 am
3
dottrap

Stallman wants it this way. See Chandler Carruth's talk "Clang: Defending C++ from Murphy's Million Monkeys". Apple spearheaded LLVM to ditch gcc because Stallman doesn't want gcc/gdb to be modular to allow better tools because that would allow those tools to be non-GPL.

  • + 0 
  • - 0 
  • 0

People like Matt...

posted by paul Feb 08, 2013 at 10:27 am
4
paul

People like Matt the commenter above are the reason why Unix development sucks and won't likely improve any time soon

  • + 0 
  • - 0 
  • 0

FOSS on windows

posted by Vasileios Feb 08, 2013 at 11:31 am
5
Vasileios

Windows has a myriad of open source developer environments. The problem is that as a platform Windows does not have a package manager like yum or even pkgsrc, so you arrive at multiple versions of the same jpeg dll. I stopped using VS in 2006 and I have not turned back. The same tools are available on Linux too but the distros offer old versions or insufficient libraries to build. On Windows these environments, not so featurefull as on Linux thrive because developers provide ready made packages. OTOH LLDB is a nice alternative that needs some crossplatform love (even on Windows). Moreover there are other languages like Haskell/Ocaml/Erlang that can help in games. On windows they struggle because of lack of package management (cannot build libraries plugins bindings in a coherent automated way). But on Unix they are worth looking. I never thought that the fastest pdf viewing software could be written in Ocaml. Please check llpp. Windows needs a pkgsrc or abetter MXE.

  • + 0 
  • - 0 
  • 0

Windows vs. Linux-centric FOSS

posted by Zalamander Feb 14, 2013 at 4:57 am
6
Zalamander

@Vasileios
What's the problem with having multiple JPEG DLLs? This may have mattered when memory wasn't dirt-cheap, but it's almost irrelevant today. Arguably there is a security aspect to it, but if we look at the reality of systems without package management, this rarely becomes a problem in practice.

The problems arising from system-wide libraries are much worse, often resulting in a dependency hell that is unsolvable without OS updates or significant manual effort.

The non-existence of a portable application bundle standard is another unfortunate consequence of trying to solve everything with package management.

Resolving (development) dependencies usually only becomes a pain on Windows when the project at hand is predominantly Linux-centric (which often is the case for OSS projects) in the first place. Windows-centric projects will simply bundle the dependencies (in their appropriate version).

Linux development productivity is stunted by attempting to get things "right" for the wrong reasons.

  • + 0 
  • - 0 
  • 0

Wait what?

posted by Joe Feb 28, 2013 at 12:42 pm
7
Joe

FUD. There's more than plenty of robust huge code bases and mission critical environments running under Linux.

  • + 0 
  • - 0 
  • 0

Leave a Comment