It's sort of like the games where the graphics are also done by the guy writing the code, resulting in fun but ugly games. There's no shame in that. You gotta work with what you got. I for one would rather have great software and ugly graphics than the other way around.
> For the millionth time, the problem is not in the language but on the programmer
In all honesty it does seem like a bad language choice. A choice more likely to be made by a bad programmer than a good one. At least in my experience it's the sub-par programmers who choose to do stuff in PHP and tout it as being a fantastic language. YMMV.
If you make your living as a programmer you most certainly want to be thinking like one. Those patterns, best-practices, design principles, preference for static typing etc. all matter when you are paid to develop systems that perform well, are easy to maintain, have few bugs and are delivered on time. If however you are not burdened by such obligations, by all means, go full cowboy.
But.. that can be said about any java (jar) programs class files. It is also not difficult to decipher the asm of a disassembled exe file, but to equate that with finding the source code of the program would be disingenuous.
I don't know of enough places that use Nexus to say whether it is common practice or not, however we do not bundle jar files with sources at my place of employment where we do use Nexus. If we wanted to bundle sources into jar that would have to be done so explicitly, as it would require something like mavens source plugin. In fact in maven the standard seems to be to include sources in a separate jar, if one wants to publish the sources i.e. again requiring explicit choice and configuration.
The response is unprofessional juvenile in that it publicly calls out and shames the customer. He should just take the site down until payment is received.
Given that you have a masters degree in music I would wager it would take me a very long time to get to your level in playing, writing and understanding music. It's doable of course, but I would have a lot of learning and work ahead of me. I think the same would apply to you catching up to someone having a masters degree in computer science or related fields.
How does a musician without any formal CS education and a admitted lack of understanding of some very fundamental software things, such as pointers and memory, land a San Francisco dev job? I thought those jobs were in very high demand
Isn't this "the Unix way"? I have seen this style of small cohesive programs promoted a lot in Linux/Unix literature so the advise isn't really breaking any new ground. Look at git for instance. The advise is of course sound but it goes against the "enterprisy" way of doing things, in part because they tend to be using huge frameworks from the get go.
In my experience C and C++ development are becoming more and more niche skills. Sure operating systems are written in those languages but I would call that a niche. And a small one at that. Then there is the embedded world, of course embedded systems are written in C or C++ either because of hardware constraints or real time requirements. Turns out however that even embedded systems are becoming so powerfull that C is no longer the only contender. Sure tiobe index claims that C is the king, but if you look at the job market you will quickly realise that C and C++ are not very sought after skills and are relatively low paid ones at that. Thats at least the case in my country, and has been so for many years.
I remember reading an article years back claiming that companies were frustrated with the new crop of software developers being schooled in java during their education rather than C and C++ since they were becoming used to development being the wiring together of already existing objects and components, and not really having a feeling of how the computer works. Well, turns out C and in particular C++ development is going the way of the dodo and the ability to wire objects and components together in a well designed even beautiful way is a pretty important skill when it comes to developing large systems.
Of course there are developers out their who are basically the sw developer equivalent of a script kiddie, but a good modern developer today is far from that even though he might use a lot of frameworks and apis.
Is any actual software developer even considering entering? I mean a developer that has a full time day job developing software. I do sw development by day, so by night any sw project would have to be very very interesting for me to consider participating. Otherwise I would rather spend time on my own sw projects or interests. The soup hackathon is just a 'Please use our api for something since we can't think of any useful thing ourselves' so I doubt it would peak the interest of anyone who gets a salary doing sw develoment. So who is left? Well as far as I can see, the unemployed sw developer looking for a job and trying to spruse up his resume and make some money, and the independent freelance/self employed developer who pushes out an endless supply of small apps anyway. For those developers such a hackathon is just another opportunity and better than nothing I guess, even though you are most likely just working for free.
Strange article. I don't think its an innate geek property to feel almighty and infallible. The author seems to be conufsing geek with silicon valley megalomaniac/serial entrepremanur.
Isn't the CPU/GPU intensive part of working with neural networks the training of them? Once the network is trained to within an acceptable error-rate why would you need the cloud?
His argument now seems to be that you have to use C for speed. In my experience that doesn't necessarily hold true anymore, given modern computer architectures and what JIT compilers are capable of. I have several times written something in a modern language and then convinced myself that I could get a large speedup if I instead wrote it in C, only to discover that the speed benefits were minimal at best and would require an exorbinant amount of exquisite hand optimization to increase further.
But that's why you start by writing the tests and then evolve the test and the production code in parallel, so that you don't end up with code that is hard to test. I don't think that just because something is testable means that the design incorporates good OO practices.