Hacker Newsnew | comments | show | ask | jobs | submit | mbel's comments login

They seem to use it for clipboard access, some repository links have a button that puts the URI in you clipboard automatically. I'm not sure if there is anything else they are using it for.

-----


<stdint.h> was actually introduced by C99 and included in C++11 with other C99 changes.

-----


Most of the C++ features does not require compiler to add anything extra to the binary, there are however some exceptions from this rule, e.g. exceptions (no pun intended) and RTTI.

The biggest problem with using full C++ as C + <small subset of C++ features> is that at some point people will stop writing in C style and start to use STL and design code using C++ idioms. You can probably try to fight this with coding standards, linters and other tools but policing people will require some additional effort.

-----


Just never put STL into your environment. What's what I've seen at a number of C purist dev shops. At first, younger C++ developers complain about the missing STL, but if they actually know how to write the algorithms STL provides, their complaints die after some ribbing from the old guys. It's actually something of beauty when a developer realizes how much of a crutch STL had been to them, and the ease of working without it. Code complexity reduces too, because STL seems to encourage creating complexity over simplicity. Teah, it's not supposed to be that way, but we live in the real world.

-----


I'll be the last one to say the STL (or, rather, its standard library port) is pretty, but damned should I be if I need to reimplement the same data structures and algorithms over and over.

Parametric polymorphism is something every statically typed programming language should have in 2015. I'm aware templates aren't quite parametrically polymorphic, but it's still better than nothing.

-----


It is leaking includes without any reason, there is no need for the user of given module to know what dependencies the implementation is using. Place to list dependencies is at the beginning of the source file of given module, and as far as I know this is the convention.

Main problem with dependencies in the headers is that if any header of your library include headers from the different libraries the user will have have to (1) have those headers, (2) probably configure their build to use them, even if they bring zero useful information for them.

-----


They're not there for "no reason". For example, if I use a type defined in some external header, I definitely need to include that in the .h, so I might as well just include everything else.

Besides, in my mind it's the logical place to put it: the header file is almost like the "spec" or the "coversheet" of a .c. It includes the name, the authors, possibly a description of what it does, a list of functions and datatypes, so why not a list of dependencies as well?

-----


The header role is to define the interface of the module, that's why I believe the leaner the header is the better. When I'm using a module I do not care what the implementation is using, the only thing I care about is what functions are exposed and what data structures are required by the functions. All other details are irrelevant. If any of the functions are using any types from the external header that are passed by value (for pointers forward declaration is the way to go), then that headers also become part of the interface and have to be #included in header.

-----


You are probably talking about C++, not C, unless those look identical to you:

    foo();
    int foo;
    (int)foo;

-----


the cast can equally be int(foo); or (int)(foo); The parenthesis are allowed and optional. The method can be declared (int) foo(int(x), int(y)); which can also be an invocation. etc.

-----


int(foo) and (int) foo(int(x), int(y)) are not legal syntax in C. However, they are in C++ [0], which is my whole point.

[0] your method declaration has a small problem, it apparently cannot have parenthesis around returned type.

-----


I wouldn't really say they are optional. The two do different things. (int) foo (or (int)(foo)) is a c-style cast. int(foo) isn't a cast. Instead it invokes the int constructor with the argument foo.

-----


I'm not an expert but my guess is: limiting bot traffic, but keeping the site available for the most popular search engine.

-----


My experience is that the worst bots don't respect robots.txt anyway.

Getting crawled by the major search engines typically isn't that bad, they tend to know what they're doing. Getting hammered by some crappy local search engine is what's annoying.

We don't limit any bots, except once where we completely blocked Eniro in our firewall. Google, Bing and a ton of other could index at the same time, with no issue. Eniro for some reason decided to just index way to much at once, no reaction to robots.txt and no reply from the email they so kindly included in the headers.

But I see your point, it's just a bit sad when Google has become "The Internet".

-----


I thought FB was the internet. Googlebot is just the Kleenex of indexers.

-----


There is a steam version that at least for me works flawlessly.

-----


Even the steam version required hacks for me on Windows 7 and still crashes. Skylines is good enough to replace SC4 for me though.

-----


    > It's a brilliant time to be a game developer.
From technological perspective of course, it have never been easier. On the other hand since everybody [0] can now create a game the competition between game developers is much stronger, which is arguably a good thing for gamers, but not necessarily for developers. Also from consumer point of view signal to noise ratio will probably get worse (many inexperienced designer flooding marked with their first games etc.).

So it's easier to develop but harder to get noticed.

Also: good luck with your game!

[0] this is a slight hyperbole, there is still so much to do even when you have the engine up and running.

-----


It's sort of a double edged sword isn't it? You're right, the space is saturated with developers and games, but on the other hand, interest in indie games is at an all time high. I'm not sure it's true that it's harder to "get noticed" now than, say, 10 years ago. There were fewer games back then, but there were also fewer gamers interested in playing indies.

-----


> From technological perspective of course, it have never been easier. On the other hand since everybody [0] can now create a game the competition between game developers is much stronger, which is arguably a good thing for gamers, but not necessarily for developers. Also from consumer point of view signal to noise ratio will probably get worse (many inexperienced designer flooding marked with their first games etc.).

This isn't the first time the games industry has seen a flood of games and it won't be the last. I suspect the bar to attract consumer interest will rise, and things will return to how they once were - with the ease of development being supplanted by the difficulties of the new quality bars. As curation catches up to the rest of the industry (or we see another crash and the flood abates) the S/N ratio will improve back towards old levels - if you follow the right channels.

The size of large game studios, to the best of my knowledge, has never been bigger than now. The size of the market, when everyone has a smartphone in their pocket, has never been bigger than now. Entirely new markets (first mobile, now VR) are opening up. Devs are doing OK at least.

I'd say the sheer enormity required to develop AAA titles might make it hard for e.g. the next John Carmack to make their millions on their own, but Minecraft selling for $2.5B pokes... at least a few holes in that theory.

-----


It is harder getting noticed, unless you do something other people are not doing, or developing some new kind of game - which has never been easier.

-----


> These apple craftsmanship videos are trying to appeal to the high end watch enthusiast but this is not going to work.

I think they were rather created to appeal to people, who would like to be considered high end watch enthusiast, but not necessarily are able to afford the kind of high end watch that you mention.

-----


Patek Phillippe's minute repeater watches are an extreme example, but you can find very nice, well made mechanical watches from every price point starting at around $1000, up to a million or more dollars....

Here's a video of a Nomos Glashuette watch being made: https://www.youtube.com/watch?v=UwpP_s8LV_Y

And their website: http://www.nomos-glashuette.com/

They've got an aesthetic that isn't unlike Apple's (minimalistic), and they're among the more affordable mechanical watch brands (while still creating high quality, in-house movements).

-----


If you want to be considered a high end watch enthusiast then there are plenty of cool and interesting watched for less than $10k. Something like a "low end" Jaeger-LeCoultre, Zenith or IWC is far more likely to catch a watch enthusiasts eye. Or dig around the vintage market and try to find something there.

-----


> Khronos is a funny beast, a bit like the United Nations. Just because these companies are all part of it doesn't mean they actually like each other and want to cooperate!

It seems to me that this is an accurate description for any technology focused consortium or work group.

-----

More

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: