Re: c++ programmers' salaries

Discussion in 'C++' started by Seungbeom Kim, Sep 9, 2010.

  1. On 2010-09-08 07:19, a m wrote:
    > Hello, I'm Alberto from Italy, and I would be glad to know if it's
    > true that a good C++ programmer is very well payed in the U.S.A. and
    > in Australia.


    This question reminds me of what I read on New York Times recently:

    > These higher skills have become commodities, said Catherine L. Mann,
    > a global finance professor at the Brandeis University International
    > Business School who studies the outsourcing of jobs. The programming
    > language “C++ is now an international language,” she said. “If that’s
    > all you know, then you’re competing with people in India or China
    > who will do the work for less.”

    http://www.nytimes.com/2010/09/07/business/economy/07jobs.html

    --
    Seungbeom Kim
     
    Seungbeom Kim, Sep 9, 2010
    #1
    1. Advertising

  2. Seungbeom Kim wrote:
    > On 2010-09-08 07:19, a m wrote:
    >> Hello, I'm Alberto from Italy, and I would be glad to know if it's
    >> true that a good C++ programmer is very well payed in the U.S.A. and
    >> in Australia.

    >
    > This question reminds me of what I read on New York Times recently:
    >
    >> These higher skills have become commodities, said Catherine L. Mann,
    >> a global finance professor at the Brandeis University International
    >> Business School who studies the outsourcing of jobs. The programming
    >> language “C++ is now an international language,” she said. “If that’s
    >> all you know, then you’re competing with people in India or China
    >> who will do the work for less.”

    > http://www.nytimes.com/2010/09/07/business/economy/07jobs.html
    >


    Recently the company I work in outsources some software parts to India.
    What we got was full of bugs, and without unit tests. Now we have to do
    the same thing all over again.
     
    Vladimir Jovic, Sep 9, 2010
    #2
    1. Advertising

  3. Seungbeom Kim

    Öö Tiib Guest

    On Sep 9, 9:12 am, Seungbeom Kim <> wrote:
    > On 2010-09-08 07:19, a m wrote:
    >
    > > Hello, I'm Alberto from Italy, and I would be glad to know if it's
    > > true that  a good C++  programmer is very well payed in the U.S.A. and
    > > in Australia.

    >
    > This question reminds me of what I read on New York Times recently:
    >
    > > These higher skills have become commodities, said Catherine L. Mann,
    > > a global finance professor at the Brandeis University International
    > > Business School who studies the outsourcing of jobs. The programming
    > > language “C++ is now an international language,” she said. “If that’s
    > > all you know, then you’re competing with people in India or China
    > > who will do the work for less.”


    I have never seen half-way decent C++ programmer that fits with "If
    that’s all you know". Everybody know at least one other language well
    and are familiar with peculiarities with couple of platforms,
    communication protocols and frameworks. Not sure from where Catherine
    L. Mann from Global Blah-Blah Weasel-Name School somewhere dug out
    such zombies.
     
    Öö Tiib, Sep 9, 2010
    #3
  4. "Öö Tiib" <> wrote in message
    news:...
    On Sep 9, 9:12 am, Seungbeom Kim <> wrote:
    > On 2010-09-08 07:19, a m wrote:
    >
    > > Hello, I'm Alberto from Italy, and I would be glad to know if it's
    > > true that a good C++ programmer is very well payed in the U.S.A. and
    > > in Australia.

    >
    > This question reminds me of what I read on New York Times recently:
    >
    > > These higher skills have become commodities, said Catherine L. Mann,
    > > a global finance professor at the Brandeis University International
    > > Business School who studies the outsourcing of jobs. The programming
    > > language “C++ is now an international language,” she said. “If that’s
    > > all you know, then you’re competing with people in India or China
    > > who will do the work for less.”


    <--
    I have never seen half-way decent C++ programmer that fits with "If
    that’s all you know". Everybody know at least one other language well
    and are familiar with peculiarities with couple of platforms,
    communication protocols and frameworks. Not sure from where Catherine
    L. Mann from Global Blah-Blah Weasel-Name School somewhere dug out
    such zombies.
    -->

    maybe digging around in a cave somewhere, with a pick and looking for ore,
    and upon finding zombies was like "wow, best thing evers!...".


    but, they probably mean the sort of newb programmers who maybe go through a
    few semesters at a college and maybe have a few smallish personal projects
    ("wow, this thing is 15,000 lines of code!..."), and then think they are
    "hot shit"...


    OTOH, then again, I am not much better off:
    I have an approx 1,500,000 line codebase (mostly a mix of C and C++), but am
    left still having some issues with bugs (testing has not always been done
    consistently or well), and with little idea if anyone would likely hire
    someone like me (even at low pay...).

    even having a mostly functional game (FPS-style) and a C compiler (which
    compiles at runtime, like for scripts and similar), and a JS-like language
    which has semi-transparent interfacing with C-land, ... and no one cares
    (works for my uses, but seemingly beating together a usable game and writing
    a compiler puts one no closer to any source of income...).

    in some sense, code is everywhere, like for nearly any task one wants to
    perform, code can be found to do so, so writing code is almost pointless.
    like, why write a compiler when one can just use .NET?... but, taken
    further, there is almost nothing actually worth doing, so all is busywork
    invested one place or another (and no matter what one may do, not a lot is
    likely to make any real difference).

    so, yeah...


    main areas of experience are in compilers/VMs, 3D engines/tools, ...
    main area of interest would be something involving games or compilers (but,
    as long as I am well away from business systems and web-development,
    probably good enough...).

    (and current location is in Arizona...).


    but, alas, no real reason to get hopes up...


    or such...
     
    BGB / cr88192, Sep 13, 2010
    #4
  5. Seungbeom Kim

    Öö Tiib Guest

    On Sep 13, 10:23 am, "BGB / cr88192" <> wrote:
    > "Öö Tiib" <> wrote in message
    >
    > news:...
    > On Sep 9, 9:12 am, Seungbeom Kim <> wrote:
    >
    > > On 2010-09-08 07:19, a m wrote:

    >
    > > > Hello, I'm Alberto from Italy, and I would be glad to know if it's
    > > > true that a good C++ programmer is very well payed in the U.S.A. and
    > > > in Australia.

    >
    > > This question reminds me of what I read on New York Times recently:

    >
    > > > These higher skills have become commodities, said Catherine L. Mann,
    > > > a global finance professor at the Brandeis University International
    > > > Business School who studies the outsourcing of jobs. The programming
    > > > language “C++ is now an international language,” she said. “If that’s
    > > > all you know, then you’re competing with people in India or China
    > > > who will do the work for less.”

    >
    > <--
    > I have never seen half-way decent C++ programmer that fits with "If
    > that’s all you know". Everybody know at least one other language well
    > and are familiar with peculiarities with couple of platforms,
    > communication protocols and frameworks. Not sure from where Catherine
    > L. Mann from Global Blah-Blah Weasel-Name School somewhere dug out
    > such zombies.
    > -->
    >
    > maybe digging around in a cave somewhere, with a pick and looking for ore,
    > and upon finding zombies was like "wow, best thing evers!...".
    >
    > but, they probably mean the sort of newb programmers who maybe go through a
    > few semesters at a college and maybe have a few smallish personal projects
    > ("wow, this thing is 15,000 lines of code!..."), and then think they are
    > "hot shit"...


    I was more annoyed that Catherine L. Mann totally missed the actual
    factor. US is bad place for competing with Chinese unless you are huge
    because of laws. Your house will be full of patent trolls as soon you
    try to sell something, Chinese just copy and paste from anything they
    find (GPL-ed or what not) at will.

    Moving to Europe is one option. It is simpler to start ones own
    business here. The amounts of workpower asked from likely
    subcontractor are often huge, but actually there are surprizingly few
    things that are not doable with less.

    > OTOH, then again, I am not much better off:
    > I have an approx 1,500,000 line codebase (mostly a mix of C and C++), but am
    > left still having some issues with bugs (testing has not always been done
    > consistently or well), and with little idea if anyone would likely hire
    > someone like me (even at low pay...).
    >
    > even having a mostly functional game (FPS-style) and a C compiler (which
    > compiles at runtime, like for scripts and similar), and a JS-like language
    > which has semi-transparent interfacing with C-land, ... and no one cares
    > (works for my uses, but seemingly beating together a usable game and writing
    > a compiler puts one no closer to any source of income...).


    With game industry i am unfamiliar with. There are usually 1/10
    developers/artists what i know. Games are entertainment and that means
    mostly art. To attract these art people you got to be charming
    personality. Easiest to start with entertainment is perhaps animated
    and interactive advertisement stuff. Commercial that reacts to
    audience ... there should be market for such things. You got FPS
    shooter engine, scripting language ... seems you got to find someone
    with good taste, add few sensors and projectors. Maybe a bluetooth if
    someone wants to interact with advertisement using their smartphone?
    Of course i must warn again that i am far from the entertainment
    business (and US too).

    > in some sense, code is everywhere, like for nearly any task one wants to
    > perform, code can be found to do so, so writing code is almost pointless.
    > like, why write a compiler when one can just use .NET?... but, taken
    > further, there is almost nothing actually worth doing, so all is busywork
    > invested one place or another (and no matter what one may do, not a lot is
    > likely to make any real difference).


    Exactly. Writing code is often pointless. It is gone to next level.
    How to help real people to do what they might like to do with all
    these smart devices and computers around them full of code they can
    not use like they expect to. Usually most of it is already there and
    you have only to tie it together, test it and arrange it so that you
    receive a sack of gold in the process. Sometimes there is a little cap
    somewhere and you fill it with some code. Since C++ works on (almost)
    lowest levels and can be as efficient as possible, it is one of the
    tools that you often need.
     
    Öö Tiib, Sep 13, 2010
    #5
  6. Seungbeom Kim

    Öö Tiib Guest

    On 13 sept, 23:08, "BGB / cr88192" <> wrote:
    > "Öö Tiib" <> wrote in message
    >
    >
    > <--
    > Moving to Europe is one option. It is simpler to start ones own
    > business here. The amounts of workpower asked from likely
    > subcontractor are often huge, but actually there are surprizingly few
    > things that are not doable with less.
    > -->
    >
    > yep.
    >
    > however, not everyone has the funds or resources where they can just move
    > from one place to another at will.
    > not everyone has business skills or wants to run a business either, as often
    > a person just wants to get hired somewhere and get payed to do whatever....


    Cube farm, TPS reports and Swingline stapler? People are different.
    For me it was clear long ago that i let to hire myself for to gain
    experience and contacts. Very few can start something alone. If you
    succeed then one day others are hiring people to work for you. If you
    lack some skills it does not matter, since people are naturally very
    different. The key is cooperation. It is only how to befriend someone
    who lacks your skills but has skills you lack. People are cooperative
    so be available.

    > <--
    > With game industry i am unfamiliar with. There are usually 1/10
    > developers/artists what i know. Games are entertainment and that means
    > mostly art. To attract these art people you got to be charming
    > personality. Easiest to start with entertainment is perhaps animated
    > and interactive advertisement stuff. Commercial that reacts to
    > audience ... there should be market for such things. You got FPS
    > shooter engine, scripting language ... seems you got to find someone
    > with good taste, add few sensors and projectors. Maybe a bluetooth if
    > someone wants to interact with advertisement using their smartphone?
    > Of course i must warn again that i am far from the entertainment
    > business (and US too).
    > -->
    >
    > yeah...
    >
    > for art, mostly I ended up scavenging, trying to find stuff that was either
    > under public domain or GPL terms (lamely, this whole part of the project is
    > stuck with GPL for the time being, as it would be a lot of pain trying to
    > weed out/rewrite all the GPL'ed bits in my 3D engine...).
    >
    > for what stuff I couldn't scavenge, I did some amount of my own art (both
    > graphics, and 3D modeling/animation...). however, very little of it is
    > anywhere near "commercial quality", but oh well...


    Hmm. One has to clearly know what he can do and for what he needs aid
    of others. Asking for aid is also common way to befriend someone. All
    people like to feel useful even if they deny it.

    > the compiler is at least all my code though (or at least, all core
    > functionality), and I have it currently under the MIT/X11 license. (a few
    > auxilary parts, mostly system headers and language-specific runtime code,
    > were borrowed from other projects, typically under BSD or similar licenses).


    Hard to sell compilers if there is free compiler (or couple) available
    on each platform. Selling development tools is hard overall. It is lot
    easier to sell something that makes life easier for the rest of
    software users. Something that adds value to tools that they already
    use. What is most expensive is time. Lot of people waste their time
    doing something boring, repetitive, time consuming and in error prone
    way. Developers are clever enough to automate their job so they rarely
    do something like that. That is why development tools are hard to
    sell.

    >
    > > in some sense, code is everywhere, like for nearly any task one wants to
    > > perform, code can be found to do so, so writing code is almost pointless.
    > > like, why write a compiler when one can just use .NET?... but, taken
    > > further, there is almost nothing actually worth doing, so all is busywork
    > > invested one place or another (and no matter what one may do, not a lot is
    > > likely to make any real difference).

    >
    > <--
    > Exactly. Writing code is often pointless. It is gone to next level.
    > How to help real people to do what they might like to do with all
    > these smart devices and computers around them full of code they can
    > not use like they expect to. Usually most of it is already there and
    > you have only to tie it together, test it and arrange it so that you
    > receive a sack of gold in the process. Sometimes there is a little cap
    > somewhere and you fill it with some code. Since C++ works on (almost)
    > lowest levels and can be as efficient as possible, it is one of the
    > tools that you often need.
    > -->
    >
    > yep, except that nearly all tasks one needs to do tend to be done already as
    > well, so it often seems like there is nothing new that can really be done,
    > and anything that is done, may work for my uses, but no one else cares...


    It is different how i see it. It feels like so lot of things are not
    done or done in irritating or uncomfortable manner and it is hard to
    use and even harder to enjoy using. Apple has become recently popular
    because it at least is company that is claiming to be caring about
    convenience and comfort of its users. Like you see they can sell
    basically same hardware asking double or triple price. What it is ...
    it is not that far from Linux if to eyeball closely. Some annoying
    things are repaired few bells and whistles are different and *bang*
    people pay happily.

    > like, in my case, I wrote my own 3D modeling and animation tools because
    > most of the alternatives are, either:
    > commercial and expensive;
    > don't do what I want;
    > totally suck...


    Sounds like contradiction to what you have said few sentences earlier.
    Also ... making good tools for 3D art is on the ambitious side for one-
    man project i suspect.

    > so, I had written my own 3D modeling tools that do at least what I needed
    > them to.
    >
    > however, little is any different (in the larger sense), except that I can
    > model and animate stuff (absent resorting to warez or similar...).


    Oh but you then have a tool. Now run to present it to some artists and
    ask if they might want to animate something with it for exhibition or
    what not. Do not worry hearing that it is same terrible crap that they
    have seen before. They might have vital ideas how to improve it. If
    you know no artist ... then find some from internet. Some place where
    they nest physically is also not far from you maybe. For example in
    Arizona ... Wikipedia suggests Sedona, Jerome or Tubac. :)

    > then I modeled the characters for an FPS, ... but am presented with the
    > issue that the combined result is not all that great.
    >
    > FPS is as FPS does, and the whole industry of FPS is centered on better and
    > more realistic graphics (requiring much art effort), but a lone developer
    > has no real hope of competing directly on these grounds...
    >
    > and, really, no one really cares about "yet another FPS". I suspect the
    > industry mostly gets by anyways mostly with hype anyways (and most
    > commercial games just endlessly reuse the same tools and engines, mostly
    > replacing most of the game art, ... for each new game).


    There you are maybe correct. Whole wall of FPS and the like games are
    sold in food store and price is like bottle of wine. That is why i
    have never felt like making a game. Games are what i think well-made
    with intuitive interface and their purpose is counter intuitive for my
    rational mind like most entertainment (to waste time). But there are
    different minds. Someone certainly misses your skills to solve their
    funny problems somewhere not far from you. With possibly far simpler
    things than FPS game.

    > interesting gameplay then is another matter, but there is little idea how to
    > gain interesting gameplay (basic functionality was already a hard enough
    > problem, and sadly itself ended up requiring a few "shortcuts" to get the
    > thing playable...).
    >
    > similar, for competing against something like .NET, there is the problem of
    > all the little things it doesn't do, but most people don't care.
    >
    > most people end up not caring that they can't use "eval" with C# code, or
    > for that matter, that C++/CLI doesn't work on Linux, ... hence, no real
    > selling point (apart from ones' personal use, ...).
    >
    > but, even if one does just use .NET, what difference does it make, when all
    > one can do is pointless anyways?...
    >
    > so, in a way, there is little hope of getting a job anywhere, or finding
    > some way to make an income...
    >
    > so, in this way, all is hopeless...


    Nah. Cheer up. To compete with .NET? Why? There is nothing that .NET
    can provide for people. I am lost what you say here. Everything it
    provides has been there for decades.

    Lot of things are about attitude, how you look at things. Life itself
    is by definition pointless. Just a way too short period to enjoy it
    fully. There are people who need that done what you perhaps enjoy
    doing. Only way how to certainly lose opportunity to have such fun is
    to stop trying to find them.
     
    Öö Tiib, Sep 14, 2010
    #6
  7. "Öö Tiib" <> wrote in message
    news:...
    On 13 sept, 23:08, "BGB / cr88192" <> wrote:
    > "Öö Tiib" <> wrote in message
    >
    >
    > <--
    > Moving to Europe is one option. It is simpler to start ones own
    > business here. The amounts of workpower asked from likely
    > subcontractor are often huge, but actually there are surprizingly few
    > things that are not doable with less.
    > -->
    >
    > yep.
    >
    > however, not everyone has the funds or resources where they can just move
    > from one place to another at will.
    > not everyone has business skills or wants to run a business either, as
    > often
    > a person just wants to get hired somewhere and get payed to do whatever...


    <--
    Cube farm, TPS reports and Swingline stapler? People are different.
    For me it was clear long ago that i let to hire myself for to gain
    experience and contacts. Very few can start something alone. If you
    succeed then one day others are hiring people to work for you. If you
    lack some skills it does not matter, since people are naturally very
    different. The key is cooperation. It is only how to befriend someone
    who lacks your skills but has skills you lack. People are cooperative
    so be available.
    -->

    yeah, but I don't really know anyone IRL...

    I have no real social life, much apart from people on usenet and in online
    forums and similar...


    > <--
    > With game industry i am unfamiliar with. There are usually 1/10
    > developers/artists what i know. Games are entertainment and that means
    > mostly art. To attract these art people you got to be charming
    > personality. Easiest to start with entertainment is perhaps animated
    > and interactive advertisement stuff. Commercial that reacts to
    > audience ... there should be market for such things. You got FPS
    > shooter engine, scripting language ... seems you got to find someone
    > with good taste, add few sensors and projectors. Maybe a bluetooth if
    > someone wants to interact with advertisement using their smartphone?
    > Of course i must warn again that i am far from the entertainment
    > business (and US too).
    > -->
    >
    > yeah...
    >
    > for art, mostly I ended up scavenging, trying to find stuff that was
    > either
    > under public domain or GPL terms (lamely, this whole part of the project
    > is
    > stuck with GPL for the time being, as it would be a lot of pain trying to
    > weed out/rewrite all the GPL'ed bits in my 3D engine...).
    >
    > for what stuff I couldn't scavenge, I did some amount of my own art (both
    > graphics, and 3D modeling/animation...). however, very little of it is
    > anywhere near "commercial quality", but oh well...


    <--
    Hmm. One has to clearly know what he can do and for what he needs aid
    of others. Asking for aid is also common way to befriend someone. All
    people like to feel useful even if they deny it.
    -->

    yeah. my art skills suck, but I don't know anyone who is good at art
    either...


    > the compiler is at least all my code though (or at least, all core
    > functionality), and I have it currently under the MIT/X11 license. (a few
    > auxilary parts, mostly system headers and language-specific runtime code,
    > were borrowed from other projects, typically under BSD or similar
    > licenses).


    <--
    Hard to sell compilers if there is free compiler (or couple) available
    on each platform. Selling development tools is hard overall. It is lot
    easier to sell something that makes life easier for the rest of
    software users. Something that adds value to tools that they already
    use. What is most expensive is time. Lot of people waste their time
    doing something boring, repetitive, time consuming and in error prone
    way. Developers are clever enough to automate their job so they rarely
    do something like that. That is why development tools are hard to
    sell.
    -->

    possibly. however, my compiler has reduced competition from native
    compilers, because it does something native compilers tend not to do:
    it compiles code at runtime and links it against the running process image
    and native libraries.


    this puts it partway between a traditional native compiler (such as MSVC or
    GCC) and a scripting VM (such as Python, Lua, or JavaScript...). however, I
    then was left to realize that, even compiling code at runtime, C is not
    ideal for scripting, given both its inherently slow compile times (due
    mostly to header inclusion, and there being no obvious way around this while
    still being standards compliant), difficulty of producing "good" code
    (generating correct statically-typed native code with a C-style typesystem
    is decidedly problematic), as well as it being decidedly difficult (even
    given both of the prior conditions) to avoid accidentally crashing the app
    via doing something stupid with pointers...

    C also proves both too bulky and too fragile for interactive entry, ...

    hence, this domain has been recently being re-absorbed by a JavaScript-like
    language of mine (BS / BGBScript), since it is much better suited to the
    task of interactive entry.

    in this usage, the role of my C compiler shifts, namely rather than being
    used to produce executable code, it is used to mine detailed information
    about the native code (typically from headers), which is agregated into
    databases. this information is then used by the BS VM to help facilitate
    transparent interfacing into the native C / C++ codebase (although, only C
    APIs can currently be mapped).

    in this sense, it could be partly compared to Swig, except that mining and
    interface generation are done separately (the later typically done at
    runtime, with me doing the mining at build time mostly to help save time
    during program startup, and not requiring the C compiler to always be
    resident in memory).


    ideally, I could also have Java and C# with scripting ability and native
    interfacing, however this is not complete (it is likely to still be a while
    before I can make these work). I can currently parse both languages, but I
    currently lack a compiler backend capable of compiling them (my current
    backend is not up to the task, as it can compile C code, but lacks a lot of
    machinery needed for "managed" languages).

    I have an interpreter backend (the BGBScript VM), which could be adapted
    into a Java/C# interpreter backend, but this would perform poorly (and would
    not give them much technical advantege over BGBScript...). similarly, this
    interpreter backend would be currently unsuitible for dealing with C code
    (it deals with pointers and similar as boxed types, meaning most C code
    would start spewing garbage...).

    like C, Java and C# are also too bulky for interactive entry.


    >
    > > in some sense, code is everywhere, like for nearly any task one wants to
    > > perform, code can be found to do so, so writing code is almost
    > > pointless.
    > > like, why write a compiler when one can just use .NET?... but, taken
    > > further, there is almost nothing actually worth doing, so all is
    > > busywork
    > > invested one place or another (and no matter what one may do, not a lot
    > > is
    > > likely to make any real difference).

    >
    > <--
    > Exactly. Writing code is often pointless. It is gone to next level.
    > How to help real people to do what they might like to do with all
    > these smart devices and computers around them full of code they can
    > not use like they expect to. Usually most of it is already there and
    > you have only to tie it together, test it and arrange it so that you
    > receive a sack of gold in the process. Sometimes there is a little cap
    > somewhere and you fill it with some code. Since C++ works on (almost)
    > lowest levels and can be as efficient as possible, it is one of the
    > tools that you often need.
    > -->
    >
    > yep, except that nearly all tasks one needs to do tend to be done already
    > as
    > well, so it often seems like there is nothing new that can really be done,
    > and anything that is done, may work for my uses, but no one else cares...


    <--
    It is different how i see it. It feels like so lot of things are not
    done or done in irritating or uncomfortable manner and it is hard to
    use and even harder to enjoy using. Apple has become recently popular
    because it at least is company that is claiming to be caring about
    convenience and comfort of its users. Like you see they can sell
    basically same hardware asking double or triple price. What it is ...
    it is not that far from Linux if to eyeball closely. Some annoying
    things are repaired few bells and whistles are different and *bang*
    people pay happily.
    -->

    yeah.

    apart from some Linux, most of my time has gone into Windows systems...


    > like, in my case, I wrote my own 3D modeling and animation tools because
    > most of the alternatives are, either:
    > commercial and expensive;
    > don't do what I want;
    > totally suck...


    <--
    Sounds like contradiction to what you have said few sentences earlier.
    Also ... making good tools for 3D art is on the ambitious side for one-
    man project i suspect.
    -->

    well, to legally own 3DS Max or Maya or similar is super expensive...
    even AC3D and Milkshape costs money (and Milkshape has issues like
    euler-angle bizarreness and inability to alter the skeleton without
    everything going all to hell...).

    tools like Blender just spend most of their time being broken in one way or
    another.

    tools like Anim8or, ... just don't do much useful for me: supporting either
    file formats I can use, or organizing animations in a way I find useful
    (say, into looped sequences of a certain number of frames).


    so, I just wrote my own tools, supporting the file formats I was using
    (AC3D, ...), the methods I use for texturing (shaders named according to a
    virtual path), ...

    technically, the tools still don't "not suck" in an objective sense, but
    manage to do those things I want them to do, and hence are good enough.

    if I have precise vertex control and can support extrusion and subdivision
    modeling and save in a format I want, I am happy enough (even despite the
    tool facing some issues related to excess GC activity, bogging down with
    complex models, and crashing more often than is ideal...).

    actually, it is not too much different than GIMP or Win98 FWIW, where it
    crashes more often than GIMP but less often than Win98, so it is mostly just
    a matter of saving often...

    Win98 doesn't allow typically several hours of sound editing with older apps
    before blue-screening either due to some random reason or running out of
    system resources, this also being a blue-screen-worthy event... but these
    old apps no longer work on newer Windows ("This program is valid but is not
    compatible with this version of Windows" or whatever...).


    > so, I had written my own 3D modeling tools that do at least what I needed
    > them to.
    >
    > however, little is any different (in the larger sense), except that I can
    > model and animate stuff (absent resorting to warez or similar...).


    <--
    Oh but you then have a tool. Now run to present it to some artists and
    ask if they might want to animate something with it for exhibition or
    what not. Do not worry hearing that it is same terrible crap that they
    have seen before. They might have vital ideas how to improve it. If
    you know no artist ... then find some from internet. Some place where
    they nest physically is also not far from you maybe. For example in
    Arizona ... Wikipedia suggests Sedona, Jerome or Tubac. :)
    -->

    don't know...

    I don't usually leave the house, and don't really know any artists IRL...

    probably most of them just use Anim8or or pay money or whatever, since they
    don't have reason to care about importing or exporting files in usable
    formats or doing individual animation sequences, since they can just do like
    what is done in that program:
    modeling and animating the entire scene and saving it in its own proprietary
    fileformat...


    > then I modeled the characters for an FPS, ... but am presented with the
    > issue that the combined result is not all that great.
    >
    > FPS is as FPS does, and the whole industry of FPS is centered on better
    > and
    > more realistic graphics (requiring much art effort), but a lone developer
    > has no real hope of competing directly on these grounds...
    >
    > and, really, no one really cares about "yet another FPS". I suspect the
    > industry mostly gets by anyways mostly with hype anyways (and most
    > commercial games just endlessly reuse the same tools and engines, mostly
    > replacing most of the game art, ... for each new game).


    <--
    There you are maybe correct. Whole wall of FPS and the like games are
    sold in food store and price is like bottle of wine. That is why i
    have never felt like making a game. Games are what i think well-made
    with intuitive interface and their purpose is counter intuitive for my
    rational mind like most entertainment (to waste time). But there are
    different minds. Someone certainly misses your skills to solve their
    funny problems somewhere not far from you. With possibly far simpler
    things than FPS game.
    -->

    yeah, maybe, dunno...


    from what I have seen, the games industry exists on 2 levels:
    the companies which produce and license the engines:
    Valve / Source-enging, id Software / idtech (formerly, now owned by
    Bethesda), Epic / Unreal Egine, ...

    companies which license these engines, and mostly supply art and game
    content:
    Raven, Gearbox, ...

    others, such as EA, seem to use mostly in-house engines AFAICT, and also
    produce most of their own content (I am not aware of them licensing any
    engines).


    > interesting gameplay then is another matter, but there is little idea how
    > to
    > gain interesting gameplay (basic functionality was already a hard enough
    > problem, and sadly itself ended up requiring a few "shortcuts" to get the
    > thing playable...).
    >
    > similar, for competing against something like .NET, there is the problem
    > of
    > all the little things it doesn't do, but most people don't care.
    >
    > most people end up not caring that they can't use "eval" with C# code, or
    > for that matter, that C++/CLI doesn't work on Linux, ... hence, no real
    > selling point (apart from ones' personal use, ...).
    >
    > but, even if one does just use .NET, what difference does it make, when
    > all
    > one can do is pointless anyways?...
    >
    > so, in a way, there is little hope of getting a job anywhere, or finding
    > some way to make an income...
    >
    > so, in this way, all is hopeless...


    <--
    Nah. Cheer up. To compete with .NET? Why? There is nothing that .NET
    can provide for people. I am lost what you say here. Everything it
    provides has been there for decades.
    -->

    well, it does some of what the Java VM does, but it integrates better with
    native code (via C++/CLI), so it is not as much of a threat to "the normal
    way of doing things" than is the JVM...

    I guess technically both .NET and the JVM support a bytecode that can be
    targetted rather than targetting machine code...


    technically, my VM works differently, as currently I am using an AST-based
    system as the IL (basically, programs are transformed into a partially
    language-neutralized AST and typesystem, and this is fed to the backend).

    my current backends, in turn translate it into a stack-machine format, but
    typically use somewhat different stack machines:
    the interpreter uses bytecode and a raw value stack, and left-to-right
    ordering;
    the main codegen uses a hybrid type-stack and internal register and value
    transfers, and a right to left ordering (this mixed better with x86, but is
    decidedly backward of other stack IL's, which use left-to-right ordering).

    a newer codegen (partly written, nowhere near complete) converts the AST int
    TAC form (AKA: 3 Address Code), and if SSA-form were added, would be
    "similar" to the IR used in LLVM. if is being designed to hopefully replace
    the prior codegen, which is currently somewhat nasty and generally going
    beyond my abilities to add more features or to effectively debug...


    however, LLVM gives me mixed thoughts:
    it is open-source, and techically works well, but, I don't really like its
    architecture...

    I actually more likely my architecture, where typically each stage is
    divided up into semi-independent modules and layers, hence components are
    clearly separate and can typically be used independent of each other.

    hence my project internally uses ASM code and COFF objects, much like in
    their traditional file-based counterparts, only that all the data is usually
    passed in memory buffers between components.

    typically, each module processes data and produces output, with little real
    communication or interaction between components otherwise. however, some
    sideband interaction is allowed via a database, which many components are
    given access to (it is an HDB, similar to the SystemRegistry, as an HDB is
    IMO much easier to implement and work with than an RDB / Relational
    Database).

    the database is usually the main structure coordinating operation of many of
    the other components, however, the actual compilation process is usually
    driven via an external "pipeline" which plugs the components together in
    series, taking the output of one stage and passing it on to the next stage.

    in general, to me this seems a sensible way to organize a compiler, rather
    than a more OO style like in LLVM, and without as clear of a separation
    between components and stages.


    <--
    Lot of things are about attitude, how you look at things. Life itself
    is by definition pointless. Just a way too short period to enjoy it
    fully. There are people who need that done what you perhaps enjoy
    doing. Only way how to certainly lose opportunity to have such fun is
    to stop trying to find them.
    -->

    dunno...

    my years are escaping me, and I have not much to show for it...

    like, in not too many years, another decade of life will have escaped me,
    and there is only a certain number of these until I am dead...


    but, oh well, sometimes I am not particularly optimistic...

    maybe something about psychology, but I can never pin it down exactly:
    xSTx, apparently somewhere in there... (I seem to bounce between ISTP and
    ESTJ, but this presumably shouldn't happen...).


    or such...
     
    BGB / cr88192, Sep 14, 2010
    #7
  8. Seungbeom Kim

    Brian Guest

    On Sep 13, 4:38 am, Öö Tiib <> wrote:
    > On Sep 13, 10:23 am, "BGB / cr88192" <> wrote:
    >
    >
    >
    > > "Öö Tiib" <> wrote in message

    >
    > >news:....
    > > On Sep 9, 9:12 am, Seungbeom Kim <> wrote:

    >
    > > > On 2010-09-08 07:19, a m wrote:

    >
    > > > > Hello, I'm Alberto from Italy, and I would be glad to know if it's
    > > > > true that a good C++ programmer is very well payed in the U.S.A. and
    > > > > in Australia.

    >
    > > > This question reminds me of what I read on New York Times recently:

    >
    > > > > These higher skills have become commodities, said Catherine L. Mann,
    > > > > a global finance professor at the Brandeis University International
    > > > > Business School who studies the outsourcing of jobs. The programming
    > > > > language “C++ is now an international language,” she said. “If that’s
    > > > > all you know, then you’re competing with people in India or China
    > > > > who will do the work for less.”

    >
    > > <--
    > > I have never seen half-way decent C++ programmer that fits with "If
    > > that’s all you know". Everybody know at least one other language well
    > > and are familiar with peculiarities with couple of platforms,
    > > communication protocols and frameworks. Not sure from where Catherine
    > > L. Mann from Global Blah-Blah Weasel-Name School somewhere dug out
    > > such zombies.
    > > -->

    >
    > > maybe digging around in a cave somewhere, with a pick and looking for ore,
    > > and upon finding zombies was like "wow, best thing evers!...".

    >
    > > but, they probably mean the sort of newb programmers who maybe go through a
    > > few semesters at a college and maybe have a few smallish personal projects
    > > ("wow, this thing is 15,000 lines of code!..."), and then think they are
    > > "hot shit"...

    >
    > I was more annoyed that Catherine L. Mann totally missed the actual
    > factor. US is bad place for competing with Chinese unless you are huge
    > because of laws. Your house will be full of patent trolls as soon you
    > try to sell something, Chinese just copy and paste from anything they
    > find (GPL-ed or what not) at will.


    There are American thieves as well, though I think
    Chinese thievery is a big problem. It may help to
    remind that "Context is everything." An on line
    context is the only way I know to thwart Russian,
    Chinese, Iranian, ... creeps.


    Brian Wood
    http://webEbenezer.net
    (651) 251-9384
     
    Brian, Sep 14, 2010
    #8
  9. Seungbeom Kim

    Öö Tiib Guest

    On 14 sept, 07:50, "BGB / cr88192" <> wrote:
    > "Öö Tiib" <> wrote in message
    >
    > <--
    > Cube farm, TPS reports and Swingline stapler? People are different.
    > For me it was clear long ago that i let to hire myself for to gain
    > experience and contacts. Very few can start something alone. If you
    > succeed then one day others are hiring people to work for you. If you
    > lack some skills it does not matter, since people are naturally very
    > different. The key is cooperation. It is only how to befriend someone
    > who lacks your skills but has skills you lack. People are cooperative
    > so be available.
    > -->
    >
    > yeah, but I don't really know anyone IRL...
    >
    > I have no real social life, much apart from people on usenet and in online
    > forums and similar...


    People work in teams the best. People communicate face-to-face best.
    Sole person just too often overlooks the obvious. If you do not leave
    your house then you have to bait rest of the team to your place
    somehow. That might be even more tricky. So what i suspect that you
    are perhaps a bit too accustomed to your eremite life. You can only
    yourself say if and how to make changes, but it is doable. Maybe there
    are other eremites somewhere who can give good tips.

    What else i think shortly ...

    VM sounds interesting but C or more so C++ is slow to compile as JIT
    something. Preprocessed C++ file is sometimes hundreds of thousands
    lines with modern header-only libraries. I suspect there can not be
    single correct way to do things and since we do not know where we
    evolve the path of evolution is not predictable for us. There are VMs,
    scripts, emulators, compilators, interpretators, bytecode etc. The
    more the better, it only helps. Half century old Lisp is still in use
    in forms.

    It is hard to build alone something that has production quality. At
    least not without active user base. You yourself unknowingly avoid the
    broken places. There is always something more interesting to do than
    to hunt an "irrelevant" issue in a feature you do not need right now
    or to remove obsolete parts you never use. That OTOH makes it unusable
    for someone else.

    Some of what you write sounds like research. You can perhaps even drop
    that FPS stuff and move to some institute or university if you care.
    There are plenty of others too who can use your skills. It is always
    about merging strong qualities together and one never has enough time
    or skills to do everything.
     
    Öö Tiib, Sep 15, 2010
    #9
  10. "Öö Tiib" <> wrote in message
    news:...
    On 14 sept, 07:50, "BGB / cr88192" <> wrote:
    > "Öö Tiib" <> wrote in message
    >
    > <--
    > Cube farm, TPS reports and Swingline stapler? People are different.
    > For me it was clear long ago that i let to hire myself for to gain
    > experience and contacts. Very few can start something alone. If you
    > succeed then one day others are hiring people to work for you. If you
    > lack some skills it does not matter, since people are naturally very
    > different. The key is cooperation. It is only how to befriend someone
    > who lacks your skills but has skills you lack. People are cooperative
    > so be available.
    > -->
    >
    > yeah, but I don't really know anyone IRL...
    >
    > I have no real social life, much apart from people on usenet and in online
    > forums and similar...


    <--
    People work in teams the best. People communicate face-to-face best.
    Sole person just too often overlooks the obvious. If you do not leave
    your house then you have to bait rest of the team to your place
    somehow. That might be even more tricky. So what i suspect that you
    are perhaps a bit too accustomed to your eremite life. You can only
    yourself say if and how to make changes, but it is doable. Maybe there
    are other eremites somewhere who can give good tips.
    -->

    yeah.
    but, I don't have transportation (can't drive), and live in a rural setting
    as parents don't like living too close to the city (but still complain here
    as there are still neighbors, but no paved roads).


    <--
    What else i think shortly ...

    VM sounds interesting but C or more so C++ is slow to compile as JIT
    something. Preprocessed C++ file is sometimes hundreds of thousands
    lines with modern header-only libraries. I suspect there can not be
    single correct way to do things and since we do not know where we
    evolve the path of evolution is not predictable for us. There are VMs,
    scripts, emulators, compilators, interpretators, bytecode etc. The
    more the better, it only helps. Half century old Lisp is still in use
    in forms.
    -->

    yeah... C's speed was noted later on. initially, I hadn't considered the
    issue that C might be too slow to get compiled. this, among other issues,
    has limited me using it for this.

    Java and C# could make better scripting languages, since they could be
    compiled much faster, but would need more work to make actually work.


    Scheme, which is a Lisp variant, is partly in used in my BGBScript VM's
    internals...

    my C compiler was originally an outgrowth of the BS VM code, but became
    independent and generally switched to using XML and a DOM-like system
    internally instead...

    the existing Java and C# compiler code is an outgrowth of the C compiler
    code, but currently only does parsing and front-end compiler mechanics, as
    my old backend sucks a bit much to extend (it is filled with bugs and
    hackery, and adding new features is difficult, debugging is a problem, and
    cleaning the thing up and improving internal orthogonality is a very long
    and slow process...).

    I tried starting on a new codegen (mostly starting clean), but this would
    likely take a long time and a lot of effort before it could actually be used
    (whereas code doesn't really "live" until it can actually be used and tested
    and stuff, and basic functionality is complete, which is a bit of a problem
    in this case... and has fairly consistently killed off prior "new codegen"
    efforts, in favor usually of more hacking and fixing on the old codegen...).


    an interpreter is another possible option, at least since interpreters are a
    much easier piece of technology, and the old codegen was essentially an
    outgrowth of a chunk of JIT related code, which was an outgrowth of a
    pre-existing interpreter (there is a common ancestor between my current
    BS-VM interpreter and my old codegen, which was an older BS-VM interpreter).

    the current BS-VM is actually the 3rd implementation, where the 2nd
    implementation was short-lived, but gave rise to the C compiler, which later
    forked off...

    possible:
    I could beat together a "JX-VM", which would be a branch off of the BS-VM
    (copy/paste/edit...) but mostly being specialized for Java and C# (in place
    of a JavaScript variant), with me temporarily putting a hold on trying to
    get them compiled to native code. I had considered this idea before, but
    didn't really commit to going down this road...

    or such...


    <--
    It is hard to build alone something that has production quality. At
    least not without active user base. You yourself unknowingly avoid the
    broken places. There is always something more interesting to do than
    to hunt an "irrelevant" issue in a feature you do not need right now
    or to remove obsolete parts you never use. That OTOH makes it unusable
    for someone else.
    -->

    possibly, but even for my uses, it is a problem trying to make it all work.
    bugs and so on are a constant battle, much less filling in all the
    implementation holes...

    I already know how far it is from any piece of production quality code...
    hence, I don't intend to compete directly or replace existing options, but
    instead try to extend the existing toolset...


    <--
    Some of what you write sounds like research. You can perhaps even drop
    that FPS stuff and move to some institute or university if you care.
    There are plenty of others too who can use your skills. It is always
    about merging strong qualities together and one never has enough time
    or skills to do everything.
    -->

    yeah, but academics involves a lot of:
    teaching...
    doing stuff forgoing any real likelihood of it ever actually being useful to
    real people, ...
     
    BGB / cr88192, Sep 15, 2010
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Rob

    US designer Salaries

    Rob, Jul 30, 2004, in forum: HTML
    Replies:
    5
    Views:
    539
    Webcastmaker
    Jul 30, 2004
  2. NetBuddy
    Replies:
    1
    Views:
    413
    Travis Newbury
    Mar 3, 2006
  3. MattB

    Salaries for ASP.NET deveopers

    MattB, Jun 5, 2006, in forum: ASP .Net
    Replies:
    4
    Views:
    3,555
    MattB
    Jun 6, 2006
  4. broli
    Replies:
    3
    Views:
    452
    Kenny McCormack
    Apr 3, 2008
  5. Victor Bazarov

    Re: c++ programmers' salaries

    Victor Bazarov, Sep 8, 2010, in forum: C++
    Replies:
    9
    Views:
    797
    Alf P. Steinbach /Usenet
    Sep 11, 2010
Loading...

Share This Page