Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Lets define our own string, vector, list classe (Score 1) 73

Thanks for the preaching, but I don't know what an "experienced C++ programmer" is. There are several different ways people programs C++, including different styles and different purposes.

Clean code is useless when it doesn't perform as expected, and performant code is useless when it's more difficult to write. C++ is meant to mix both things, so by definition it will never be entirely clean or performant. It's a language that strikes the right balance for this specific purpose.

In other words, the reason for the lack of a virtual destructor is performance. This way, the class will not need for a vtable and vpointer, and will be destructed inline. Containment will make it more difficult to write and debug, you would need to replicate operators such [], mehods such as size, etc.

So, I hope I could make my point of why the current choice is the right choice in that context.

Comment Re:Lets define our own string, vector, list classe (Score 3, Insightful) 73

This is an easy answer, STL is good but often not as good, specially for projects this size and requirements because:

1- It generates huge debugging symbols.
2- It generates a lot of code because most compilers inline it by default.
3- It's so complex that compile time increases by a few times.
4- Errors are huge and uncomprehensible.
5- Support for custom allocators is limited to alloc/dealloc functions.
6- Support across compilers is not as good (specially console compilers).
7- Lack of support for COW with atomic ops for thread safety

Some of these probably improved significantly since the time work on the engine started, but I'm sure most issues still stand.

As for why not std::string or std::wstring, have you actually used those? They suck, the amount of operations you can do is really little, check core/ustring.h in Godot to std::string and you'll easily see why everyone rewrites the string class.

Submission + - Godot Game Engine Released Under MIT License (godotengine.org) 1

goruka writes: Godot is a fully featured, open source, MIT licensed, game engine. It focuses on having great tools, and a visual oriented workflow that can deploy to PC, Mobile and Web platforms with no hassle. The editor, language and APIs are feature rich, yet simple to learn. Godot was born as an in-house engine, and was used to publish several work-for-hire commercial titles.

With more than half a million lines of code, Godot is one of the most complex Open Source game engines at the moment, and one of the largest commitments to open source software in recent years. It allows developers to make games under Linux (and other unix variants), Windows and OSX.

Comment In part it's lies, here's a true story (Score 4, Interesting) 303

Someone I know runs a hosting provider in Latin America, they sell virtualization, dedicated servers and housing. I don't remember exactly how the deal was (this was about 2 years ago). Microsoft talks to everyone here to route their traffic through Window Server devices and IIS or fake server agents in exchange of money, hardware and licenses. I don't have proof and can't obviously point to specific providers, but i've seen the devices myself.

Comment Re:Never gonna happen, because of how OSS works. (Score 1) 299

Why on earth would you want to mix your professionally sounding audio with every freaking app that goes "ding" or "boing" or "you've got mail"?

Because you might want to take a break and watch a youtube video your friend sent you, or listen to reference material while you work, etc? You can do that in Windows and OSX, and DAWs take a long time to start up due to the huge amount of memory they use so it's not convenient to close it and start it again for that simple task.

Comment Never gonna happen, because of how OSS works. (Score 4, Insightful) 299

I've been following this for more than a decade, even wrote a lot of audio software for Linux, and all my music is made under it, with my own apps. Yet I recognize the situation will never improve. Here's why:

1) While the Linux kernel is perfectly capable of low latency, even on the shittiest of hardware, it does not provide the concept of primary and secondary buffers. If you want to use pro audio, you want to be able to mix the low latency, high sampling rate stream together with the regular OS/Desktop audio. Windows and OSX do this by setting the hardware for the realtime client, then also mixing the secondary audio over it, which comes from userland (or already mixed in userland). As a result, when using realtime audio in Linux, desktop audio dies or is hacked to route pulseaudio to jack and other stuff that does not really work well.

2) It's impossible to write plugins similar to VST, because of the different way tookits connect to X11 (they won't share the connection). You can't mix and match toolkits so a host DAW will use different plugns. The only way is to use separate processes, but that makes programming complexity much higher and very few people bothered. Wayland seemed like it could fix this in the future, but other distros such as Ubuntu refuse to use it, so it doesn't seem good.

3) Good programmers are not necesarily good composers. This is something that is much more important than it seems. Commercial companies are forced to listen to their users, but OSS developers mostly care about doing something good enough for themselves. Given the chance that a good programmer is a good producer/composer is super slim for the practical world, most audio software kind of sucks and feels incomplete. Ardour took more than a decade to implement MIDI and it still is horrible, because the main developers care more about live session recording. If they really had to use it everyday to make professional music, it wouldn't be as bare bones as it is now. At the same time, stuff that looks like a good idea (jack daemon) are terrible in practice because making music with a bunch of applications open is akin or worse to a live set of devices with cables connected.

4) Finally, the biggest problem of Linux is that, unlike other software such as 3D or imaging, there is plenty of cheap and good Windows/OSX audio alternatives, so even if OSS software were to run properly on Windows/Mac, the incentive is still slow. It's not like Blender or Gimp, that it's commercial counterparts are in the thousands $.

Comment American Culture? (Score 5, Interesting) 246

I'm not american, lived and visited several parts of the world. Love to talk and fit in with the locals and socialize.
Of course it's all anecdotal, but I'm pretty sure that something odd is going on in American culture. The times i've been there I couldn't help but finding amazing how such large parts of the population take behavioral related medication. I mean, even most TV commercials I saw were for anti depressants, or even complenents to them.

But it's not the medication itself what caught my attention but how people itself claims to be unwell, not feeling like what people should feel or not behaving as people should behave. It's as if there was some sort of strong "need to be normal" or "need to be well" (whathever tha means), and that not being like that is not fitting in society.

It's not that where I am from (South America) people won't get depressed or have panic attacks, but you see such symptoms by far much, much less often. It's not misdiagnose either or that people chooses to put up with it instead of taking medication , I mean, it's very clear when someone is going through depression. In contrast, people here are more "unpolite", intimate,cares less about rules and socialize a lot more. I'm sure there has to be a relationship somehow, but I am no expert on the matter. As I said, it's just what I see, but I can't connect the dots.

So, I think that even if pharmaceutical companies capitalize on this stuff, I'm not that sure they created the situation, I believe it's more akin to a side-effect.

Comment Mozilla could at least adopt WebP.. (Score 1) 278

Despite engineers from high traffic websites such as Facebook begging Mozilla to implement it in the hopes of saving bandwidth costs, and despite plenty of success stories for those who implemented it only for Chrome, they still continue do deny the format a chance..
Meanwhile, the internet still lacks a lossy compression image format that supports alpha transparency... Thank you Mozilla!

Comment With bikes, it's different than with cars. (Score 1) 947

Bikers are given more protections, such as exclusive lanes and crossing lights. However, a good amount of them decides to ignore them and have a higher chance to smash against a car or a bus.
So, the real question is probably, how safe is biking when you drive them safely?

Comment Obligatory SCons plug (Score 2) 179

At our company we use SCons to build our large projects, which span several platforms (mobile, desktop and consoles), and have plenty of autogenerated code, shaders, etc.
My point of view is that if you are going to need a complex, scripted build system, why not use a friendlier and more accessible programming language such as Python?

Slashdot Top Deals

Remember, UNIX spelled backwards is XINU. -- Mt.

Working...