Slashdot Mirror


Getting Back To Coding

New submitter rrconan writes I always feel like I'm getting old because of the constant need to learn a new tools to do the same job. At the end of projects, I get the impression that nothing changes — there are no real benefits to the new tools, and the only result is a lot of time wasted learning them instead of doing the work. We discussed this last week with Andrew Binstock's "Just Let Me Code" article, and now he's written a follow-up about reducing tool complexity and focusing on writing code. He says, "Tool vendors have several misperceptions that stand in the way. The first is a long-standing issue, which is 'featuritis': the tendency to create the perception of greater value in upgrades by adding rarely needed features. ... The second misperception is that many tool vendors view the user experience they offer as already pretty darn good. Compared with tools we had 10 years ago or more, UIs have indeed improved significantly. But they have not improved as fast as complexity has increased. And in that gap lies the problem.' Now I understand that what I thought of as "getting old" was really "getting smart."

178 of 240 comments (clear)

  1. Join a Free Software Project by Anonymous Coward · · Score: 5, Insightful

    Write code.

    1. Re:Join a Free Software Project by Austerity+Empowers · · Score: 5, Funny

      I tried but linux doesn't have a .vcproj or .sln. Someone told me they just use 'built in editors' but when I made a patch in wordpad, f5 didn't compile it.

    2. Re:Join a Free Software Project by Anonymous Coward · · Score: 1

      So basically, your poking fun at the fact that VS users can be productive on a larger scale in a shorter amount of time?

      Yeah... let me learn VIM and linux command line to make a program. That'll show those VS users a thing or two *Rolls eyes*

    3. Re:Join a Free Software Project by Austerity+Empowers · · Score: 2

      Visual Studio/Xcode:
      I can call spirits from the vasty deep.

      Real Programmers:
      Why, so can I, or so can any man;
      But will they come when you do call for them?

    4. Re:Join a Free Software Project by lgw · · Score: 1

      Oh, believe me, with Visual Studio they'll come - when you least expect them!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:Join a Free Software Project by Anonymous+Brave+Guy · · Score: 3, Funny

      Visual Studio/Xcode casts Summon Spirits.
      Spirit appears.
      Spirit appears.
      Spirit appears.
      Spirit attacks Real Programmers.
      Real Programmers attempt to save against arrogance... and fail.
      Real Programmers have been frozen in time.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:Join a Free Software Project by luis_a_espinal · · Score: 2

      So basically, your poking fun at the fact that VS users can be productive on a larger scale in a shorter amount of time?

      Yeah... let me learn VIM and linux command line to make a program. That'll show those VS users a thing or two *Rolls eyes*

      I've worked with VS users, and I'll I can think to say is the following: define productive.

      Don't get me wrong, I've worked with some true geniuses in the C#/C++/C/Win32API land, but those are few and far between. Productivity is not generating/reusing lots of stuff that does magic for you, and only the right magic so long as your needs stay down that nice and tidy narrow path. Well, we can define productivity to be *that*, but then, I can chose to re-define the symbol '3' to mean 'papaya'.

      And btw, this is not just a VS pple case. The same crap happens in Java-land.

      Modern IDEs help good developers tackle large bodies of code using a bunch of disparate technology stacks. And they make mediocre developers spawn heaps of horror onto this world. Productivity had little to nothing to do with IDE (as it is primarily a function of the developer's skills and the business culture surrounding the activity of development.)

    7. Re:Join a Free Software Project by phantomfive · · Score: 1

      Productivity had little to nothing to do with IDE (as it is primarily a function of the developer's skills and the business culture surrounding the activity of development.)

      Good quote

      --
      "First they came for the slanderers and i said nothing."
  2. Tool complexity leads to learning the tool by jfdavis668 · · Score: 5, Insightful

    I have an issue with my programmers when they know how to use the tool, but don't understand what they created. I overheard one group discussing a new system, and the one stated she didn't know where the code actually ran. No one in the group did. The Integrated Development Environment hid the details. No wonder people leave gaping security holes in systems if they don't understand how they work. I have really smart people who don't understand how the application server accesses the database. They just write code, and it works. They get used to figuring out how the tool works, not how the system works. If the tool is replaced, they are lost. If required, I'll go fix it in a text editor, because I understand what it's doing. I don't need an IDE to tell me. I know what information is flowing through the system, and how it does it. That way I can prevent inappropriate data from being exposed to outside users. IDE's are very useful to speed development, but you can't base your entire knowledge of programming on how to use a tool.

    1. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 2

      Sorry, that is nonsense.
      Every IDE places everything you edit ultimately into files, text files to be precise.
      The idea that something only runs in the IDE and otherwise no one knows how it works is just nonsense.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      Have you ever used VisuSQL Server Integration Services? Obviously not.

    3. Re:Tool complexity leads to learning the tool by maugle · · Score: 1

      You missed the point. He knows where things are running and how to fix them if they break, but the other group knows nothing but "use the IDE" and they haven't bothered to learn what the IDE is actually doing behind the scenes.

    4. Re:Tool complexity leads to learning the tool by netsavior · · Score: 1

      You would be shocked. I envy your isolation if you have never had to work with or near people like this. Whole SOAP integrations are done from within Visual Studio. You push the "publish" button and now it runs "somewhere" (hint: Probably on an MSSQL Server somewhere, which is just god-awful).

      It is a longstanding joke in my office "We are the only ones in the world who know how to write software." Because every integration we do, is with companies who have 0 people who understand SOAP, SSL, Rest, or whatever flavor of the month bullshit that they demand we provide.

      It is not like we can't tell what is going on, when we get a 4 meg Microsoft WSDL.

    5. Re: Tool complexity leads to learning the tool by GrantRobertson · · Score: 1

      I agree. I like tools but I prefer them to fully expose what they are doing and why. I don't want my tools to hide the complexity, just reduce the tedious redundancy of implementing that complexity.

    6. Re:Tool complexity leads to learning the tool by Boronx · · Score: 4, Interesting

      He's doing them a disservice by fixing their problems. In the old days you bought a computer and there was no software for it, so you got a magazine with a program and you copied it in. You had no clue how the jumble of characters made it work, but it did ... until it didn't. If you dive in to fix the problem or to make it do something new on your own, you end up learning something about the system, about why things are the way they are.

      GP needs to stop playing daddy and let the newbs grow by fixing the problems themselves.

    7. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 4, Interesting

      Your wording is in the wrong order. It is not that they have not bothered to learn what us happening 'behind' the IDE. They simply don't know how a computer, a network or distributed software works.
      Either take them as programmers and let them use the IDE, or educate them about what they obviously did not learn in the university or simply don't hire them, but for god sake: stop complaining! If you hire people who don't understand how the code they produce is deployed to the production environment, then either make sure they don't need to know or ad I said above: stop complaining, change your recruiting habits!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    8. Re:Tool complexity leads to learning the tool by netsavior · · Score: 1

      well yeah, duh. That was the point of my post.

    9. Re:Tool complexity leads to learning the tool by jfdavis668 · · Score: 1

      Oh, they learn all right. I only fix what is necessary to correct a production problem. It then goes back to the programmer to figure out why it was wrong coming out of the IDE. If 2 servers are not communicating properly, I know where the code executes which does that communication. Once band-aided to work, the programmer goes back to make the permanent fix. This often means wandering through configuration panels and wizards to determine what was set to generate the problem code. Once we figure out how to fix it, we then deploy over the patch to create a proper deployment package. Again, we are learning the tool, not the code.

    10. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      And why do you let that happen?
      So you write some code, 'publish' a part of it as WSDL and deploy it with a click of a button, then someone else uses said WSDL and writes code against it ...
      The WSDL is likely not even under version control as it is considered a build artifact?
      Well, honestly: system architectures are based on defining interfaces/WSDLs first, not but publishing them as a byproduct of some back office development ...
      Sure, tools make this easy ... but it is not the fault of the tools or the fault of the users of those tools if YOUR ORGANIZATION, your software architects, your software department allows this!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 3, Interesting

      Nope, I don't work with Microsoft Technologies.
      In 1997 a company I owned partly was so smart to use VisualSourceSafe as VCS (considering that it did not really work, I can not get why they did it).
      Instead of having files versioned in files they used like SVN the database approach. And yes they had back ups.
      When the VSS DB got corrupted, all work of two years of about five developers got lost. Well, mine was additionally in my private (back uped) RCS ...
      Due to licensing issues it took them months to get the backups back into a working VSS ...
      That was the last company I worked with MS 'tools' /languages for coding 'real' software.

      If your environment demands to use particular tools because vi and text files are not enough, then something is seriously wrong. And I doubt that absolvents from universities that only can use MS tools and can only work in MS ecospheres save so much money in the long run that it is worth it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:Tool complexity leads to learning the tool by netsavior · · Score: 3, Interesting

      the reality of the real world is that you don't get to pick what your customers and your vendors do, you just have to code around their bullshit.

    13. Re:Tool complexity leads to learning the tool by Oligonicella · · Score: 2

      "Nope, I don't work with Microsoft Technologies."

      Then you admit that "Every IDE places everything you edit ultimately into files, text files to be precise" should have been "Every IDE I use".

    14. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      The idea that the IDE becomes _necessary_ to access the code is spot on. We do code security reviews as part of our work, and, for example, most Java projects cannot be reviewed anymore without the Eclipse set-up that was used to produce them. That is pure insanity!

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    15. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Erm, if you want to point out that MS IDEs don't put stuff you work with into files, then say so. And if you are at it, explain where they put the stuff you enter (and if you know why, then point that out, too). Sorry, where else than in files should MS visual studio puts its sources?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:Tool complexity leads to learning the tool by Aighearach · · Score: 1

      How can you expect old angel to understand your point, when he can't even distinguish who is who in your posts?

      He's just another angry aikido practitioner. The world is full of them. Oh, wait...

    17. Re:Tool complexity leads to learning the tool by lgw · · Score: 2

      And there are many people like you who have difficulty reading text that's not annotated, explained or highlighted by something else.

      I used to program using butterflies, but of late that doesn't seem manly enough. Now I'm programming by arranging cocoons such that weeks hence when the butterflies fly away, the desired atmospheric disturbance will result in the code on my HDD. Took years to get to where I could intuit the changing weather well enough, but now I feel like a real programmer again - let's see em make an Emacs macro for that.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    18. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 2

      Sorry, that is nonsense.

      All java sources in an Eclipse project are simply in one or more trees of directories.

      If you can not cope with them without Eclipse then check them out of your VCS and use what ever editor you want.
      And bottom line I really wonder when you do intensive code reviews: why dob't you utilize tools like gerrit or fisheye for it .... eeeek, another tool!

      Oh, you do generate code with Eclipse or tools used by it? Perhaps you should then drop your academic attitude of 'not putting generated code' into version control?

      Do you have a build system that can build your project from the command line? No? Why not? How do you even know that the security audits of the code you audit actually cover the code soon to be in production?

      So now you blame Eclipse ... it is just a tool! And a fool with a tool is still a fool!

      If blame an IDE for deficiencies in your software or software development process ... then there is something wrong with your approach, seriously!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    19. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Aikidoka are usually not angry, at least I don't know any who is :)

      What was the point you are arguing about?

      Oh, tools are bad, yes ... it is never the user of a tool, is it?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    20. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Well, there are other options:
      o pick a different customer
      o pick different vendors
      o educate your customer

      That "real world" thing would not exist if you would stop supporting it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      I'm ignorant about MS.
      Not about the topic, none of the GPs or the original poster ever mentioned MS.
      But if programming means for you to work with MS technologies (erm, can you name that technology?) then ... hm ... I pity you.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:Tool complexity leads to learning the tool by RabidReindeer · · Score: 3, Insightful

      The idea that the IDE becomes _necessary_ to access the code is spot on. We do code security reviews as part of our work, and, for example, most Java projects cannot be reviewed anymore without the Eclipse set-up that was used to produce them. That is pure insanity!

      If I was in charge, I'd march around the whole office and generously apply boot to fundaments.

      I got burned REALLY, REALLY bad in my Visual Studio days because it was difficult-to-impossible to get a makefile out of it, depending on which release you were working with, and once the IDE had been replaced with a newer version of the IDE, some projects couldn't make 1-line emergency fixes without either massive project rework or re-installing the old version of the IDE.

      Moving to Java wasn't much better, because although the IDE in question wasn't Eclipse, projects couldn't be built without the IDE plus the same directory setup as the original developer.

      Because of the expense and lost time at critical moments, I have a very strict policy that and project under my control must be buildable using a well-supported non-gui build system that can be set up and used in under 10 minutes with no external user system dependencies or other tweaking. In other words, Ant, Maven, or an equivalent product.

    23. Re:Tool complexity leads to learning the tool by Noah+Haders · · Score: 1

      I have an issue with my programmers when they know how to use the tool, but don't understand what they created. I overheard one group discussing a new system, and the one stated she didn't know where the code actually ran. No one in the group did. The Integrated Development Environment hid the details. No wonder people leave gaping security holes in systems if they don't understand how they work. I have really smart people who don't understand how the application server accesses the database. They just write code, and it works. They get used to figuring out how the tool works, not how the system works. If the tool is replaced, they are lost. If required, I'll go fix it in a text editor, because I understand what it's doing. I don't need an IDE to tell me. I know what information is flowing through the system, and how it does it. That way I can prevent inappropriate data from being exposed to outside users. IDE's are very useful to speed development, but you can't base your entire knowledge of programming on how to use a tool.

      they don't need to know where the files are or where they execute. they're "in the cloud".

    24. Re:Tool complexity leads to learning the tool by Noah+Haders · · Score: 2

      Sorry, that is nonsense. Every IDE places everything you edit ultimately into files, text files to be precise. The idea that something only runs in the IDE and otherwise no one knows how it works is just nonsense.

      you're 100% wooshing it. the point is that the air-tards at his company know how to use the IDE but don't know what it does, and that's bad. everybody agrees with you that the IDE edits files and saves them.

    25. Re:Tool complexity leads to learning the tool by ADRA · · Score: 1

      Division of labor my friend. Would you rather the alternative being that all developers need to understand deep knowledge of the environments they're running on potentially conflating the cost of writing for your platform by double? I didn't think so. Not every developer needs to know about every inch of code that exists in your corporate hierarchy and libraries, infrastructure, etc.. as long as SOME PEOPLE ARE, are easily accessible, and willing to field questions as needed.

      --
      Bye!
    26. Re:Tool complexity leads to learning the tool by Aighearach · · Score: 1

      That was my point, indeed. Such an angry person should probably be embarrassed to admit they do aikido in the same forum where they're YELLING AT OTHER USERS.

    27. Re:Tool complexity leads to learning the tool by turgid · · Score: 1

      I can edit tens of thousands of lines of code in an instant with sed and grep without even "opening an editor." Through the miracle that is sh I can pipe stuff into my custom (very small and simple) C and sh tools to frob the code. Then I just type make to rebuilt it all and my unit tests tell me that it worked.

      At the other side of the office, they're cursing and swearing and Microsoft(TM)(R) Visual(C) Studio Intergalactic Azure Edition For the Enterprise(R) because it's still importing the project...

    28. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 2

      Sorry, but your claim that you can not build a Java project that originated in Eclipse, without having the same layout is not only nonsense it is bullshit.

      First of all I assume you mean directory layout _above_ package level?

      Then please explain me why a command line like: javac -sourcepath YOURSOURCE:FOLDERS:HERE -classpath JAR:FILES:AND:CLASSDIRECTORIES:HERE does not work on your system!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    29. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      You have obviously never done this. Pathetic. And no, we are not reviewing "our" software, quite obviously. If you knew the first thing about professional code review, you would know that coders and reviewers must never be the same or closely connected.

      You whole statement was possibly meant to drip irony, but it only drips confusion.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    30. Re:Tool complexity leads to learning the tool by zidium · · Score: 1

      Big big words for an Anonymous Coward!

      Even though I totally 100% agree with the AC who said they can use notepad and shove an icepick in their eyes too lol! I deal with those sorts ALL THE TIME. Esp. the SublimeText fanatics who wouldn't recognize a debugging breakpoint if they saw one.

      --
      Slashdot Valentines Beta Massacre: iT WORKED! The boycotts killed Beta!!
    31. Re: Tool complexity leads to learning the tool by frangalista · · Score: 1

      The problem is that many IDEs actively discourage you from finding out what they actually do. After three years, I'm still trying to figure out what xcode does.

    32. Re:Tool complexity leads to learning the tool by zidium · · Score: 1

      Anonymous Coward is more off their meds than usual today lol

      --
      Slashdot Valentines Beta Massacre: iT WORKED! The boycotts killed Beta!!
    33. Re:Tool complexity leads to learning the tool by luis_a_espinal · · Score: 1

      Erm, if you want to point out that MS IDEs don't put stuff you work with into files, then say so. And if you are at it, explain where they put the stuff you enter (and if you know why, then point that out, too). Sorry, where else than in files should MS visual studio puts its sources?

      He/she doesn't have to say anything like that. Said person is giving you a counter-argument to your claim that every IDE does such and such. I can also give you another example IDE that is not MS and which does not necessarily put things in text files: Oracle's JDeveloper.

      And even if an IDE puts things in text files, that does not necessarily makes them readable or tractable.

      And here is the thing that you are missing when you first replied to jfdavis668. Your reply made references to IDEs whereas jfdavis668's reply made references to tools.

      Not all tools are IDEs. The OP is referring to tools that generate heaps of stuff (auto-gen code, property files, xml descriptors and what not) and that there are developers who do not know how all of that is supposed to work. You see that a lot in Java and MS land.

      The OP is referring to coders that simply add code snippets to make things run (typically only under the 'happy-case' scenario) - they don't know what exactly grabs their code, where it gets executed, how it access the database, how the views interact with them, how in technical terms users trigger their system (end-to-end) into action.

      This is not a problem of IDEs generating a bunch of text files. It is a problem of developers not understanding the software stacks they use on a daily basis.

      That is what the OP is complaining about, which is very reasonable. And then you went the IDE-generates-text-files strawman as if that were the issue under discussion. </whooosh>

    34. Re:Tool complexity leads to learning the tool by gweihir · · Score: 2

      I have to say I find Java apologist like you not only pathetic but repulsive. This "language" represents everything that is wrong with "modern" software creation. It is so badly designed, you cannot handle the sources without tools. It is so full of syntactic clutter, it is barely readable. It is so badly non-orthogonal, code re-use is a myth. Even badly written C or Perl is better. It is so slow and resource-hungry, that when you deliver some good-quality C-code that does the same, some people only believer your performance numbers after they see it in action. And it is so badly structured, that most Java "programmers" do not even understand most Java mechanisms. Java code is always incredibly bloated and incredibly hard to read and universally 10...100 times longer than it needs to be. It often solves problems that have already be solved in an universal way and does it badly.

      Really, if somebody claims to be a "Java programmer", the assumption that they are fundamentally incompetent with regard to CS concepts, cannot do anything in any other language, have zero understanding for operating systems and that their Java code is badly borked is almost a certainty.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    35. Re:Tool complexity leads to learning the tool by luis_a_espinal · · Score: 1

      He's doing them a disservice by fixing their problems.

      You do not know that because you do not know who the *other* people are, what their capabilities are and what work ethics they possess. If people don't care to know how the stuff they do for a living works, it is hard to help.

      Furthermore, the OP is not there to do a service to his peers, but to the company, his employer, the entity that writes him a check. I have been in the same situation, having to fix crap from peers who don't seem to know or care to know.

      The following speaks in general terms without describing any of my present or past employers.

      And part of me would like to put my teaching hat and do something (anything) that will help some of these people raise their skills for their own benefit (and my sanity.)

      But guess what? There are only 24 hours a day, and there is always shit that needs to be done and shipped by deadlines that are external in nature (business changes or whatever), and I have this strange desire to go home every once in a while because I don't find the idea of growing roots at my cubicle appealing (shocking I know.)

      So, shit needs to get fixed, I have limited time and the people who never show an interest to raise themselves to a level of competency are not going to fix shit when it needs to be fixed. So I fix shit to the benefit of my employer, or I teach (to people who don't seem to have the desire or ability to learn.)

      Now, in general terms, these people are my employer's problem. I can try to assist in any way I can, but I need to first deal with the things I'm directly responsible while avoiding shit to hit the catastrophic fan.

      So, I fix shit. And to retain my sanity, I stop caring if people show an inclination to learn or not. I will help anyone with a) the inclination, and b) the capacity to learn. But those people are typically proactive and are not, in general, the constant source of the type of predicaments discussed in this thread.

    36. Re: Tool complexity leads to learning the tool by K.+S.+Kyosuke · · Score: 1

      I think there's a few a few insightful quotes by Dijkstra and Wirth on the topic of tools. They were largely aligned with what you're suggesting. That's why Wirth went in the Oberon direction eventually.

      --
      Ezekiel 23:20
    37. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      He/she doesn't have to say anything like that. Said person is giving you a counter-argument to your claim that every IDE does such and such. I can also give you another example IDE that is not MS and
      He did not give a counter example. He made a claim.
      necessarily put things in text files: Oracle's JDeveloper I used JDeveloper ... and all I worked on was in text files ... care to point out, what is not?

      Not all tools are IDEs. The OP is referring to tools that generate heaps of stuff (auto-gen code, property files, xml descriptors and what not) and that there are developers who do not know how all of that is supposed to work. You see that a lot in Java and MS land.
      Tools are used to tackle a certain technology. The xml files, property files etc. etc. are not there because of the tool. They are there because the technology requires them. So if your co workers or employees can mot master the technology without tools obscuring them, then that is certainly not the tools fault, regardless what tool is involved.

      The next tool you want to abolish is a C compiler, because no one using it knows anymore how to code in assembler?

      Sorry, the talk WAS about IDEs as any other tool.

      And perhaps you should read up what a 'straw,an fallacy' actually is instead of throwing it randomly into discussions.

      So, again: what exactly does JDeveloper not store in a text file? What exactly prevents you building a project from the command line by issuing the relevant 'javac' and 'jar' commands?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    38. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      You are wrong, he explicitly claimed he has an Eclipse (IDE) project, that can not be build from the command line. That is impossible!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    39. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      I'm not yelling at other users, why should I?
      They don't listen anyway.
      Sorry, did again not get your point, must be an english / german language barrier thing.
      I assume you had a point to make?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    40. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      ROFL.
      So, you claim to know the difference between an 'inspection' and a 'walk through' but actually don't know it?

      And since when may the reviewers not have access to the VCS of the developers, regardless what kind of review style you chose?

      Sorry ... perhaps you should not only read the books your favorite professor suggests but also some others?

      There is no such thing as 'the right way doing code reviews' ... there are dozens of approaches, I mentioned two general categories above.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    41. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 2

      Well, if I was not on an iPad I simply would copy paste your rant and exchange every NOT for a yes and every "C can", with a "C can't" etc. p.p.

      If you really believe the **** you just wrote there, you don't qualify for discussions about software development etc.

      I only agree that Java is bloated, because the need of writing 'public' in front of every class and method and 'private' in from of every attribute is indeed a waste of time, and it is ugly to read.

      The rest of your post, especially the claims about how incompetent Java Developers are, how slow Java is, how resource hungry Java is ... simply shows you have no clue yourself about Java.

      Hint: did you ever compare a 'real world' Java program in speed and resource consumption with an equivalent real world C/C++ program? Likely not. Why not? Because a Java program where 7 developers work 5 years on costs roughly 4.5million Euros. I doubt there is anyone going to invest another 10(?) million or regardless how much to craft an equivalent C program just to prove you can save a megabyte here and there and gain a few computing cycles here and there.

      Guess what, my last 'BIG IRON' Java contract involved a SUN 'mainframe' with 1 terra byte of RAM. It had about 50 Java VMs running with max memory sizes between 2 and 16GB. The self made software running on it was worth roughly 100million Euros, likely more, I joined late in the project, no idea how long it actually ran. And guess what all the VMs where doing all the time? Idling, waiting for DB requests or Network requests to finish. Do you really think C programs ... or Erlang, or just insert your language of choice: would idle less? Would need less RAM? Would be cheaper to develop? (Programming DB access in C ... that is worth than the death penalty ... oh my)

      Sorry, you can say about Java what you want. But if we had not Java, many big companies in our times would not even exist.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    42. Re:Tool complexity leads to learning the tool by david_thornley · · Score: 1

      We're currently using Visual Studio and Subversion. I'm not claiming that Visual Studio is better than vim/g++/gdb/make/gprof/etc., but it works well enough. My main complaint is how slowly C++11 features get into Visual C++.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    43. Re:Tool complexity leads to learning the tool by Boronx · · Score: 1

      Even for a computer?

    44. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Yeah, Visual C++ was always slow.
      I don't remember all the details, but I guess to have half working STL support too them roughly ten years.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    45. Re:Tool complexity leads to learning the tool by Livius · · Score: 1

      The idea that something only runs in the IDE and otherwise no one knows how it works is just nonsense.

      However, the idea that 'something only runs in the IDE and otherwise some people don't know how it works' is depressingly common.

    46. Re:Tool complexity leads to learning the tool by luis_a_espinal · · Score: 1

      Tools are used to tackle a certain technology. The xml files, property files etc. etc. are not there because of the tool. They are there because the technology requires them. So if your co workers or employees can mot master the technology without tools obscuring them, then that is certainly not the tools fault, regardless what tool is involved.

      Well, duh! No fucking shit captain obvious. Neither I nor the OP you originally replied to said otherwise. Strawman #1 for you.

      The next tool you want to abolish is a C compiler, because no one using it knows anymore how to code in assembler?

      Who said anything about abolishing. The OP didn't say anything about abolishing tools (go back to what he/she said). He/she complained about people not knowing what the tools do, and that he had to clean the mess they leave because of it. And I echoed the sentiment.

      I challenge you to quote me WHERE I SAID ANYTHING ABOUT ABOLISHING A TOOL. Go find that sentence of mine and quote it. Don't reply before doing that first.

      That's strawman #2 for you. I don't know if you don't know how to read or you are being deliberately obtuse. Keep building strawmen, whatever floats your boat.

    47. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      > Erm, if you want to point out that MS IDEs don't put stuff you work with into files, then say so.

      Um, I already did. That was the point of my reply. You effectively cannot edit the SSIS output except in the IDE. Theoretically, could you? Yes. But you could also theoretically manually edit binary files, too. The point is that the SSIS "text files" might as well be binary and it's really only reasonable to find a recognizeable section (like a SQL query) in the garbage and edit that. Editing beyind that sort of thing is not doable.

      Your "nonsense" claim was from a POV of limited exposure, and frankly it's not just limited by avoiding MS technologies. There are a number of IDEs, especially in the 4th gen language space, where you simply cannot edit outside of the IDE.

    48. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Unfortunately this is common, so I hear.
      Luckily I never had to work with such guys ... hm, there was that guy who used "commit and overwrite" in Eclipse/SVN ... because he did not get the team aspect during his University time ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    49. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      it has nothing to do with MS vs. non-MS. it was an example that happened to be MS. you jumped to conclusions beyond that, i guess to be defensive so you don't have to admit you were just wrong.

    50. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      The OP, did not say that people 'don't know what the tool' does. He complained they can not accomplish the same thing the tool does, without the tool.

      You still don't know what a straw man is? No problem, the accusation that one is using this fallacy is an US phenomenon only anyway ... ah, well it is something to keep my boat floating?

      If I would need something keeping me a float, I would rather follow the Inka and use reed than some "straw".

      Your challenge, btw is a straw man, I believe, as we where talking about the OP ... and my parent. Actually I answered to my parent and you brought back in the OP ... which is ... shit, don't remember what fallacy that is, also a straw man perhaps .. who knows.

      So, both my parent as well as my OP considered abolishing tools.

      So perhaps you should focus a bit more and only answer to what actually got written?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    51. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      On what part I where wrong?
      Sorry ... it is late. If you believe I'm wrong point out where.
      Since I'm separated from my previous GF I refuse to attempt to read the mind of one who tries to discuss with me: speak out what you want to say or leave it. I don't try to figure what 'message' you might have behind, besides your words. Particular not over the internet in my second hand language.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    52. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      So, how does more than one person work on such a 'SSIS' project.

      Sounds it is impossible. So why would anyone use such a 'thing'?

      How do you do version control?

      Um, I already did. No, you did not, you only implied it and clarified it now in this post :D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    53. Re: Tool complexity leads to learning the tool by namgge · · Score: 1

      So are its authors.

    54. Re:Tool complexity leads to learning the tool by dbIII · · Score: 1

      GP needs to stop playing daddy and let the newbs grow by fixing the problems themselves.

      That's when you find users that don't exist in the group files (due to typos) and then when that didn't work a "fix" of setting the permissions of entire systems wide open. Next step some script kiddie has owned the system.
      Newbs are often such newbs that they do not know that they should be making their stupid early mistakes on development systems (like we all did) instead of fucking up production systems for everyone - that's one reason to give them a hand even if you are entirely selfish.

    55. Re:Tool complexity leads to learning the tool by bzipitidoo · · Score: 1

      And I have an issue with how needlessly complicated programming is. IDE's? They're a trivial addition to the problem. The problem is the entire ecosystem. For example, why is a tool like Make a language of its own? Why are revision control systems yet another level of complexity about the same as a programming language? Can you be a competent programmer without knowing about those things?

      Then there's the nightmare of library code. There is no standardized way to call libraries, and maybe that's impossible, but we could have done better. We have this horrific mess of libraries tied to individual languages, with C/C++ libraries being perhaps the most prevalent. But C doesn't provide enough to make portable libraries. Need that .h file. A programmer may need to know about the informal conventions that were established to deal with name collisions. Some of this has been addressed, with additions such as namespaces. Other languages have wrappers to connect to C libraries, or they have their own libraries, or both.

      The web is very messy. Web pages have become jumbled mixes of data and code. There's PHP or Python or Perl on the server side, Javascript on the client side. Why couldn't the same language work in both places? There's Java, sort of. But Java doesn't work on the client side unless the user installs a massive plugin that constantly nags users to keep it updated. Actually, just about any language can be easily used on the server side. One of the exceptions is... Javascript! Then, should browsers run executable code? No Execute has been worked into CPUs, while the web has been flying in the opposite direction.

      There is politics involved too. Some Microsoft ""documentation" is actually marketing drivel. And you're always wondering what they're hiding now. Not even they know how big their own API is. Over 60,000 functions, so I've heard.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    56. Re:Tool complexity leads to learning the tool by ImdatS · · Score: 1

      Oh, please, please give me mod-points --

      Working at an SMB, my experience is exactly this! I joined four months ago and am responsible (actually as a 'Chief Product Officer') to increase the quality, performance and usability of the products we are selling.

      The problem is still understanding where all the problems come from - in the meantime I decided that it is mostly from extremely inexperienced (in CS concepts) Java developers as well as hundreds of tools, frameworks, new concepts that nobody has understood but which are "hype" and so on.

      Instead of doing my Product Management job, I'm currently more involved in showing the developers where to find the bugs, problems and how to fix these...

      *sigh*

    57. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      Just keep your head in the sand. Otherwise you would need to realize what sorry excuse for a programmer you are. You also confuse "cost" and worth. And without Java, we would have less programmers, but far, far better software that would still do all the jobs that needed done.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    58. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      Oh, and BTW, the last Java project I had a part in killing was at a double digit million cost at that time. The reason? Unacceptable performance on a mainframe back-end that could not be fixed because the sorry excuses for programmers creating it had screwed up basically everything. So, yes, I very much have that experience you claim I cannot have.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    59. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      I wrote "code security review" and you claimed that we would do that on our own code. You really have zero clue.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    60. Re:Tool complexity leads to learning the tool by turgid · · Score: 1

      And how much money did you (or your company pay) to be locked in to all that flaky software that changes every 18 months so you have to rewrite all your code?

    61. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      What is wrong with you?

      I did not claim anything. I assumed you would do that on you own code as you did not imply in any way you would not.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    62. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      With what did you replace it? Don't tell me: with another, better Java application :) then then you would contradict yourself :)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    63. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Another claim no one can proof or disproof without a time machine :) and the will to manipulate time.

      So you believe a company like amazon had been founded and made profitable in such a short time if their software where based on ... what exactly is the alternative to Java in your eyes?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    64. Re:Tool complexity leads to learning the tool by RabidReindeer · · Score: 1

      Sorry, but your claim that you can not build a Java project that originated in Eclipse, without having the same layout is not only nonsense it is bullshit.

      First of all I assume you mean directory layout _above_ package level?

      Then please explain me why a command line like: javac -sourcepath YOURSOURCE:FOLDERS:HERE -classpath JAR:FILES:AND:CLASSDIRECTORIES:HERE does not work on your system!

      Building a project is more than just where you keep the source code.

      My problems with project portability came from the fact that people would keep external libraries and data directories in various random locations on their filesystems and have those locations hard-coded into the project. Or worse yet, into their IDE configuration. Meaning no actual "project" file contained the critical resources. You essentiall had to be running a clone of the developer's machine.

      It's not a language issue. I've had problems as bad or worse in C and other languages.

      In fact, one of the things that gave me the most relief on that score was using Maven, since it's designed for projects to be self-contained with externally-injected dependencies rather that having a "Service Locator" model where you had to know where to find the external stuff.

    65. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      In eclipse all that information is stored in the .classpath.xml file (not sure if it starts with a `dotâ)

      Yeah, local hardcoded bullshit is a pain. I remember a case where a developer had hardcoded IP addresses in his host file.
      Integration tests ran well against long forgotten still running test systems, but they never ran on the test bed.
      Took some serious threatening with the baseball bat till he stopped that habit ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    66. Re:Tool complexity leads to learning the tool by narcc · · Score: 1

      Abstraction doesn't always make things easier, or you more productive.

      The belief that it does is the great myth of abstraction.

    67. Re:Tool complexity leads to learning the tool by narcc · · Score: 1

      Actually, just about any language can be easily used on the server side.

      Yep,

      One of the exceptions is... Javascript!

      Wait, what?

      Are you from the past?

    68. Re:Tool complexity leads to learning the tool by bzipitidoo · · Score: 1

      Although Javascript can be used on the server side, it's not so easy. What do you need to run a Javascript program? A browser. You don't want to have to run a browser on the server. GCC doesn't have a front end for Javascript. You could use Rhino to translate from Javascript to Java, and run that on the server side. Closure compiles Javascript to Javascript. Helpful to make Javascript run faster, not helpful to make it run. There may be some proprietary, commercial tools for compiling or running Javascript.

      So, what do I not know about? What tools are there for running Javascript outside a browser? Or, is there some tiny browser like Lynx or Links that can do it?

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    69. Re:Tool complexity leads to learning the tool by narcc · · Score: 1

      Although Javascript can be used on the server side, it's not so easy.

      It's actually rather simple. Still, your complaint was that it was impossible. Hence, my post.

      What do you need to run a Javascript program? A browser.

      That's one way, sure. Or you could use something like node.js Just type node yourprogram.js and enjoy.

      Not that I'm a node.js fan, but it's been a popular topic for a while. Your post strongly implied that you'd never heard of it.

    70. Re:Tool complexity leads to learning the tool by RabidReindeer · · Score: 1

      In eclipse all that information is stored in the .classpath.xml file (not sure if it starts with a `dotâ)

      If you're lucky. Then there's dynamic classloading. and other "clever" tricks.

      You bring up another point, though. Doing separate builds for development, test, and production systems is also a no-no with me. I've seen what happens when the wrong build ends up in the wrong place.

      My stuff is 1 build fits all. The test/production-dependent stuff is injected in as part of the deployment process, not embedded in the modules.

    71. Re:Tool complexity leads to learning the tool by bzipitidoo · · Score: 1

      You're right, I had not heard of node.js. Checking, I see that node.js was released in 2009. An eternity for regular users, but for casual users, really not all that long ago. There is plenty of old documentation out there that should be retired because it's older than node.js and Javascript 1.8.5.

      In 2011, the Javascript 1.8.5 release added some sorely needed missing functionality that I used to complain about: Object.keys, and similar functions. The book I had was too old to cover these new features.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    72. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Ofc it should be one build, perhaps I was unclear.
      But before you commit your changes you should have a local running and good enough tested build.

      Then you have your central CI/CD build which builds 'the product'.

      Btw, dependency injection is something else, maven etc. only handles dependencies on the artifact (jar files, other libraries etc.) level.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    73. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      Nothing is wrong with me. NOBODY, except the terminally incompetent, does code security reviews on their own code. That you assumed we could be doing it just shows that you really, really have no idea how these things are done. Go away. You have a big mouth and no actual understanding of things.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    74. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      It was replaced by the old system it was supposed to replace. (Not Java.) There is no upgrade path at this time. It may just fail completely some day and when it does you will be reading about it in the news. For the moment they keep it running by throwing insane hardware at it. And no, "we" did not replace it. We were the external consultants that found out and demonstrated just how completely and utterly borked this thing was. Again, the reviewers/auditors MUST NEVER BE the coders. (Code walk-throughs and code peer review are not "reviews". They are just QA.) Conflict of interest kills all result quality and everybody except the most incompetent avoid it like the plague.

      Just a choice example to demonstrate the skill level of "quality" Java programmers: A quadratic (!) sorting algorithm, implemented manually (!) to remove duplicates form a database query result (!) that could have an arbitrarily large (!) response. In Java, that has hash-tables (!) and n log(n) sorting (!) in the standard library, with a database that you just could have told (!) to make the results unique. It really does not get any more incompetent than this. Oh, and this code went through per-review several times, some of them because performance was so incredibly bad as soon as the test-data got realistic. Nobody found anything. So this is not a single programmer messing up, it is a whole team of about 20 people messing up, all "qualified" Java programmers.

      This was not the only thing we found of this quality level. And we have found things of similar "quality" in other Java projects done at other places. The problem with Java is that it is a) incredible easy to do the most stupid things and b) all the tools make sure you can still compile and typically even run them. This leads to the average Java programmer just being a completely clueless hack. In C, these people would just produce non-compilable or always segfaulting messes and be given the boot pretty quicky. In Java, they can successfully pretend to be coders, and since more likely than not all other Java coders they work with are just as stupid, nobody sees the problem.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    75. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      Just open your eyes. The only issue without Java would be a lot more unemployment.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    76. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Of course we do security code reviews on our own code.

      Why should we let someone else do it when we have the competence in house? So your NOBODY is debunked right away ...

      Do you have any mental problems, or why is it that you started insulting me a few days ago?

      Assuming, I have no idea how things are done, proclaiming it here aloud, is an insult ... grow up, or shut up.

      Hint: I'm in the business of doing everything around software since over 30 years. I likely did more reviews of any kind you will do the next decades ... if you want to discuss something stay on topic and stop stupid raging and ranting.

      If the only way how stuff is done is YOUR WAY, then you should learn to look around. You will very likely figure that you are sitting in isolation and the rest of the world has moved on.

      Must however be a nice business you work for if other organizations let YOU look over THEIR code for security risks ... and must be super anoying as I bet 90% of the code is so shitty that you are itching to rewrite it ... but as long as it is secure :)

      I pitty you ... and your attitude.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    77. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Incompetent programmers produce bad code regardless of langugage or platform.

      Just replace Java for C++ in your post and your post looks like one I could have written 15 years ago.

      Regarding "conflict of interest", you have here one, too. As external consulting company you like to prove the other (internal or external does not matter) team 'is shit'. They like to prove: they are gods and you are shit.

      Obviously your company was not good enough in showing your customer that 'you are the gods' and can replace the system in question.

      I guess the producers of the code in question even got payed, you got payed, the loser is the company which wanted to migrate.

      And you blame Java for it? (* facepalm *)

      Awaiting the news :)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    78. Re:Tool complexity leads to learning the tool by RabidReindeer · · Score: 1

      I think you might have missed what I was really saying, since I wasn't quite clear.

      I don't mean 1 build process for all. I mean that the exact same byte-for-byte binary is used for all. Because that's where the disasters generally happened. Accidentally dump the production binary into a test server and POW! The production database just got scrambled. And no, the DBA couldn't prevent it, because we're in the middle of a disaster recovery and the normal rules had to be relaxed to get back online ASAP. Or whatever.

      Injection of environmental dependencies (which database, what security system, live-versus-simulated emailers) is quite possible for Java apps. It's done via the "server-dependent deployment descriptor", which has different names, formats, and contents depending on what brand and version of server you are using. After all, it's server-dependent.

      There's also a "server-independent deployment descriptor". Most people know it as the WEB-INF/web.xml file.

    79. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Na, you where clear. Nevertheless usually developers run their own tests before commiting souces to the VCS. So later you have to build 'the one and only binary' out of the VCS system.

      Regarding isolation of test and production environments, for that you have DNS and firewalls.

      However I have to admit I only worked for one company that did this right.

      Firewalls prevent that the test cluster can access the production environments. The configuration, the web.xml so to speak is exactly the same for test and production.

      Subdomains are used to make that work. So a configfile might have a line like:
      db_server=db1
      Where db1 is DNS resolved hostname. In the test environment it resolves to db1.test.bank.com and in production to db1.prod.bank.com.
      Nothing of *.test.bank.com can access *.prod.bank.com or vice versa (isolated networks with non routable IPs)
      Oviously the same for devel1-9 subdomains and prelife.
      The only subdomain that has extra firewall rules is admin.bank.com that can SSH around and move installation packages from prelife to prod.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    80. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      You really have your head up your backside. We do _reviews_. We don't do _engineering_ on the same projects or for the same customers, for exactly the reason that this _would_ be a conflict of interest! That would be the hight of professional misconduct! Really, you cannot assume everybody is as clueless, ethically challenged and unprofessional as you are...

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    81. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      I said "NOBODY, except the terminally incompetent". Obviously, you qualify. I have seen the results of this type of in-house "review" and more than once.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    82. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      Sigh, still insulting?
      I don't care what you have seen. You only saw what you saw, you did not see what you did not see. So you don't qualify to give any comment about anything which is outside of your 'I have seen' sphere, obviously a no brainer.
      But how is the saying? 'The perception is always the Truth in the eye of the perceptee'.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    83. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      You clearly fail to listen. Hence doing reviews is likely the best job for you, you would be a miserable requirements engineer e.g. with your listening skills.
      OF COURSE for you it is a conflict of interest if YOU do software engineering AND reviews for the SAME PROJECT (of the same customer, obviously).
      But as soon as it is two different projects of the same customer it would be fine. And it would show IF YOU EVEN CAN engineer the stuff you believe you can review. It is surprisingly easy to review someone else code and point out all the bullshit in respect to write said code bullet proof without any 'defects'.

      And now to your listening skills: I don't review other companies code, that is not my business (anymore). However most companies I work for have one team engineering and another team doing reviews. Both teams are working for the same company, e.g. a bank. And there is no conflict of interest! Both want the software water tight. And no bank in Europe hires outsiders anyway to do security reviews, well there are a few spin off companies form IBM that still do that work.

      So something completely different: what tools do you use for your reviews?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    84. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      Version control is not a problem. But I suspect you are referring to merging code, which is a problem. SSIS 2012 made this a bit better, but in most cases you have to fall back to a manual merge using the IDE. Alternatively, one person works on a particular SSIS package (unit of code) at a time. The latter is not as crazy as it sounds, so long as you follow ETL best practices that lead to very simple, small, modular packages.

      There are plenty of resources on the interwebs that can explain the value of 4th gen ETL solutions.

    85. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      pretty simple, and i think i and others have stated it multiple times now. you said:

      > Every IDE places everything you edit ultimately into files, text files to be precise.
      > The idea that something only runs in the IDE and otherwise no one knows how it works is just nonsense

      This is wrong. You would have never said this if you were not coming from a point of view of (admitted) ignorance in a number of technologies. You then assumed it was just ignorance due to your avoidance of Microsoft technologies. Sorry, but that is not the case. Many 4th gen languages will have this problem. Other languages that have a "visual" component for GUI editing or the like will likely have this problem.

      Bottom line: you made a blanket assertion as if you knew the universe of the topic, and it turns out you know only a subset of that universe that happens to support your assertion. It's a bit like living in America and assuming every other country is like America, since that is what you know and have experienced. I don't fault you for not having experienced it; but I do fault you for being too confident that you have already seen the world.

    86. Re:Tool complexity leads to learning the tool by gweihir · · Score: 1

      Fascinating parallel universe you live in. Basically nothing of what you claim has any resemblance to the truth.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    87. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      You can use Javascript on the server side with node.js but it's a shit language, with shit support for large projects. The overly verbose code you have to write to work around it's deficiencies and the lack of any worthwhile tools for managing massive codebases, coupled with the fact it's not compiled which means entire classes of bugs can be missed until runtime means it's often easier to just accept the barrier and use Javascript on the client and something else that's simply just better on the server and just use a common interchange format like JSON or XML to pass data between them.

      Most server side web frameworks do that automatically, if I return an object in ASP.NET MVC to an AJAX call it's automatically converted to JSON and the reverse is true also so there is no effort required to explicitly translate data between technologies, the frameworks often handle it (and if they don't, you can write your own easily).

      I think you just need more experience.

    88. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      Yeah the summary basically sounds like:

      "I hired a bunch of really cheap graduates because I was being cheap and didn't want to pay for any kind of experience and now it turns out I have a team full of inexperienced graduates! Why aren't these people the higher tier programmers that I didn't want to pay for?"

    89. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      You realise there are inexperienced developers of every language right?

      And that inexperienced developers will always be a problem?

      Hint: Java is not your problem, inability to recruit and manage competent staff is. You'd have the same problem whatever the language. In fact, with a language like C it'd be even worse because inexperienced people can do far more damage with that.

    90. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      "You also confuse "cost" and worth"

      Please explain the difference to us. I'd really like to know more about this unit of value to organise getting things done that is "worth" as a distinct entity from cost.

      "And without Java, we would have less programmers, but far, far better software that would still do all the jobs that needed done."

      FWIW there was a time without Java back in the 90s, and a time with far less Java for nearly all the 90s. It was a time when we had CGI modules written in C that were rife with full blown server root vulnerabilities and other such silliness. It was a time where Windows was known for it's insecurity, and where buffer overflows were rife in general. Like it or not, the movement to managed code has been a key aspect in improving software security and stability, yet also improved productivity.

      Like it or not grandad, the world has moved on for a reason. There's a reason every big player that matters is using managed technologies like .NET and Java every single day to do important things, be it Google, Microsoft, Apple, just about every financial institution. There's a reason C has been relegated to areas it's still best at - close to the metal development, and removed from areas it sucks at like application and web development.

      I guess you're just bitter that you never kept your skills up-to-date and just can't compete in the market any more. Sure you can make up your fantasy metrics like "worth" but that doesn't change the fact that almost the entirety of the development world nowadays thinks you're wrong, and thinks that for a damn good reason. Most people are just outright happier with this modern world where more software gets written, where software is more secure, and more stable. Is there room for improvement? sure. Do bad programmers still write a lot of bad code? sure. But at least they're not doing quite as much damage as they were with unmanaged languages.

    91. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      "Just a choice example to demonstrate the skill level of "quality" Java programmers: A quadratic (!) sorting algorithm, implemented manually (!) to remove duplicates form a database query result (!) that could have an arbitrarily large (!) response. In Java, that has hash-tables (!) and n log(n) sorting (!) in the standard library, with a database that you just could have told (!) to make the results unique. It really does not get any more incompetent than this."

      So what you're saying is if you hire shit programmers you end up with shit code? Who'd have thought it! I bet that company is so glad they're paying you to consult with them on the obvious.

    92. Re:Tool complexity leads to learning the tool by Xest · · Score: 1

      That's not his point, his point is that you're paid to find fault because otherwise many companies would see no point in paying you.

      It's like when I worked in public sector many years ago and they consulted with Fujitsu about how to make the IT teams more efficient and the answer was to merge them into one big team... 5 years after they'd consulted with Fujitsu on the exact same thing and Fujitsu had told them to split IT into different teams. The correct option in either case, whichever was correct would've been "It's already optimal, you don't need us" but because their interest was profit, they make up some shit.

      Consultancies like yours just come up with nonsense to make it sound like you're providing value. Rather than explaining how the organisation could've hired better developers and provided them an understanding of what was going wrong you just said scrap it, because there was more profit it in it for you to say that than to spend too long actually trying to deal with the problem.

      Like it or not, such consultancies as yours have an inherent conflict of interest, you have a conflict of interest in doing what will generate you the most profit, rather than what will actually help the company in question. These two things are nearly always at odds.

    93. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      In future I will use the word 'most' instead of 'every'.

      Point is: the people starting with that complaint, actually did use IDEs that actually do store all information text files.

      However you are right, I could not imagine that there are indeed IDEs that don't do that, and furthermore: I'm completely baffled that there are in fact people using them.

      I hope they at least have a build in versioning system ... would be a shame if they have no way to figure if 'compiler settings' (code generation settings) changed at some point in history.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    94. Re:Tool complexity leads to learning the tool by angel'o'sphere · · Score: 1

      ETL sounds like horizontal business integration on the database level. Astonishing that companies still do that :)

      I'm lucky that I mainly work in projects where 'traditional' tools / approaches don't work. Or where I at least don't have to 'program' them.

      Thanx for the info.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    95. Re:Tool complexity leads to learning the tool by RabidReindeer · · Score: 1

      That works for grunts. But I am God. The last resort, and as such, empowered to directly touch and modify production, exempt from firewall and access rules. Not to mention major parts of the infrastructure. Whatver it takes to keep production going, even if it's only on 3 tires and a flat.

      I try very hard to keep stuff like that switched off except in cases of dire need, but when we're in full crisis mode one "oops" moment can be very expensive. So that little extra bit of protection I get from having the critical definitions in the server and not in the webapp is geatly to be desired.

      That stuff isn't kept in web.xml. The web.xml file is part of the binary and therefore if it was, my one-binary-for-all rule couldn't be followed.

    96. Re:Tool complexity leads to learning the tool by mattwarden · · Score: 1

      Yes, version control is not a problem at all. We use git. The only problem is merging, which is not automatic like it is in most situations with "human readable" text based programming

    97. Re:Tool complexity leads to learning the tool by david_thornley · · Score: 1

      The library support isn't bad. It's the language feature support.

      For example, I can use the regular expression library in VS2012. However, it's a pain before raw strings, which first appear in VS2013 (which we cannot currently use due to compatibility issues with third-party software on older systems).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  3. Do you speak it? by necro81 · · Score: 5, Funny

    Sounds like we need some Programming, Motherfucker!

    Do you speak it?

  4. standard "use the right tool" applies by trybywrench · · Score: 1, Offtopic

    FTFA "The reason that so many tools have become unwieldy is that they chase after certain values that add complexity but not usefulness to SMB-sized projects"

    If the author of the article would just choose his tools more carefully he could have saved himself these weird rants about things that he brings on himself. It's like a bike rider lamenting how uncomfortable his racing bike seat is when he's riding it around the block.

    --
    I came to the datacenter drunk with a fake ID, don't you want to be just like me?
  5. The problem mirrors that of big word processors by darylb · · Score: 5, Insightful

    ...Everyone says "I only need 10% of what this word processor will do." Everyone else will agree with that statement. The problem? The 10% I need is not the 10% YOU need.

    I find the article strangely short-sighted. Sure, we have to avoid overengineering solutions that are not going to be needed in the near future. But to say "you should not code features that are not immediately needed in the current sprint" will lead, in most cases, to significant rework in the future. Rework is money and time.

    A key part of the work of a smart project lead, whether that lead is an active developer or not, is to anticipate the product direction. The lead has to be able to say, "Sure, we're only going to write this subset of functionality *now*, but it is a near certainty that users will want this expansion of it in just a couple of years. We might as well have the basic framework for that in place, even it's only stubs."

    Further, our tools are complex because our needs are complex, even at the SMB level. I've been a developer for 30 years now, writing everything from experimental personal-use stuff, to local utilities, to enterprise software that is used by some of the largest manufacturers on the planet. Even small users expect unanticipated cases to work. Big customers expect that, not only do unanticipated cases work, but that migrations to new versions will be tailored to THEIR needs and will happen without notable incident. As but one small example that means that internal testing of a new release not only has to work as a brand new install, but it must also work as an upgrade, and it must work as an upgrade against the specific data and specific customizations (real software is customizable), even when you don't know what those are. If you expect success in that environment, you're going to need a LOT of tools: source code management (to identify what changed when you introduce a regression), an automated testing framework, a way to test builds and build functionality, a framework for testing upgrades against real customer data (that they let you use for this purpose), and then tools and processes that let you track code reviews, approvals, and the like. That's a lot of tools, and a lot of staff to follow it all around.

    My organization has some excellent tools, and developers assigned solely to maintain them for the rest of the development staff. It means, though, that any new developer coming in is going to have to learn a lot more than a programming language.

    1. Re:The problem mirrors that of big word processors by lgw · · Score: 2

      But to say "you should not code features that are not immediately needed in the current sprint" will lead, in most cases, to significant rework in the future. Rework is money and time.

      When at last you grok the Tao of Programming in fullness, you will no longer have this problem. Seriously, one good reason to have a senior engineer on the team is to help guide you in doing just what you need immediately without significant throw-away work, or not-used-today cruft.

      A key part of the work of a smart project lead, whether that lead is an active developer or not, is to anticipate the product direction. The lead has to be able to say, "Sure, we're only going to write this subset of functionality *now*, but it is a near certainty that users will want this expansion of it in just a couple of years. We might as well have the basic framework for that in place, even it's only stubs."

      A couple of years? Writing dead code and cruft on purpose? No, that's nuts in this day and age. Write code properly such that it's easily refactored, and don't do anything to block anticipated features, but if you can't see ways to do just the immediate work and still keep it cheap to add someday-maybe features later, what have you been doing these 30 years?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:The problem mirrors that of big word processors by Aighearach · · Score: 2

      People using vim or emacs would have automated tools that build documentation listing the function prototypes, and would spend the 2 seconds to open up said document when working on a project, and will just keep it open. Generally people using these tools make use of virtual desktops and have all of these tools open and available all the time.

      Just because you don't know about a workflow doesn't automatically mean it is in the dark ages ;) it might just mean you're in the dark ages and don't even know what the workflow options in popular use are.

      Why do options you don't use "grind [your] gears" just by existing? Don't you feel like a total sociopath admitting that? Why would a new software project need your approval just to exist, or meet your expectation of a highly specialized use case? Almost everybody using an "editor" is using vim or emacs, and none of the "editors" force users of a file created in it to use the same editor.

      Also, you said the "only" thing that "grinds [your] gears" is one thing, and then you listed a second thing, as a "second thing." If even your English isn't self-consistent, no wonder you need an editor, and no wonder everything would be totally borked if you attempted sed! lolol

    3. Re:The problem mirrors that of big word processors by turgid · · Score: 1

      Truly, you are at one with the Tao.

    4. Re:The problem mirrors that of big word processors by phantomfive · · Score: 1

      People using vim or emacs would have automated tools that build documentation listing the function prototypes, and would spend the 2 seconds to open up said document when working on a project, and will just keep it open

      Or instead we write code that can be read........

      It entertains me to think that Intellisense was invented as the solution to the problem the Visual Studio can't open more than one window at a time.

      --
      "First they came for the slanderers and i said nothing."
  6. ultimately the misperception is by businesses by a4r6 · · Score: 2

    ...on how to best create software. It seems really, really tough to get anyone finance-minded in the *business* of making software to understand that it's worthwhile to do exploratory development of tools and techniques to be much more productive later on. There is simply not enough money being invested into making better programming tools. The fact that free, open source software is so pervasive in for-profit companies is proof of that. Everyone would rather take what they can get, squeeze as much money as they can out of it in the near term, and wait around to benefit from everyone elses investments back into the technology.

    1. Re:ultimately the misperception is by businesses by gweihir · · Score: 5, Informative

      Really, that is completely ass-backwards. We do not need better tools. We need better programmers. I recently finished a medium sized project in C, using text editor, command-line compiler, commandline-debugger and svn only, and I found absolutely nothing wanting in my tool-chain. That was dual-platform development on Linux and Solaris (with the Solaris compiler and debugger on Solaris, not the GNU tools), and still, even an unified IDE would have benefited me almost nothing.

      Now, it may be that I am stuck in the dark ages of programming, but I don't think so. My development speed and result quality is entirely appropriate and significantly better than average. However, I have observed that many "programmers" are indeed helpless without exactly the complex tool-chain they are used too and cannot even produce simple code without the only IDE they know. These people have no business producing software and, indeed, they do not understand the language they code in or the machine they code for. They "muddle through" somehow, having their hand held by the IDE. It seems these people are the norm, not the exception. It is really no surprise so much software is so bad.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  7. Less coding, more assembling pieces by ErichTheRed · · Score: 1

    I'm in systems engineering/administration, so the vast majority of my "coding" experience is focused on automation and scripting. Predictably, stuff like this is very procedural and different from application development. However, the biggest shift I've seen is not really in the complexity of tools, but the shift in focus to gluing together pre-defined parts. Sure, languages have always had standard libraries, but development (especially in the mobile OS or web framework environments) often leaves me trying to figure out how much I would have to code from scratch and how much work has been done for me simply by including Massive Functional Library X. Don't get me wrong, it's a good thing to not have to do everything yourself, but I sometimes wonder how much control one gives up when they just write an app by putting someone else's code together.

    One example from my side of the fence is Windows PowerShell. It's amazing, but it really requires a complete shift in thinking if you're used to writing VBScript. JavaScript or batch language automation. With the other languages, you have to write lots of code to parse command output or iterate through a WMI structure. Some of the stuff is so complex that sysadmins who don't really know the under-the-hood workings just cargo cult the whole thing and make a mess. PowerShell became useful to me when I realized I no longer had to write chunks of code solely dedicated to reading the contents of formatted CSV files. Lots of the complexity of that rolls up into a line or two of script. Again, it's not a bad thing, but if you're used to DIY, it makes you wonder how the "magic" is being done. When you move up the stack (iOS, Android, etc.) that abstraction is even more stark...as in, just call this library which handles the entire database-access layer that used to be huge amounts of coding.

    1. Re:Less coding, more assembling pieces by timeOday · · Score: 2
      No the trend actually is the same in application development - away from clean sheets, and towards lashing together complex components that can made to sort of work together, supported by complex development tools.

      It sucks, but I'm intentionally throwing more of my time now into learning the latest languages and development environments. Are they better? Not really. But you will never, ever convince anybody that fuddy-duddy is actually cool. They'll just think you're irrelevant. Every career has some drawbacks, and spending your life chasing fads, coupled with others' disdain for everything you did or learned over a decade ago, is a drawback of this one. (Heck, why didn't you start a successful startup or at least move into management by now, anyways?)

    2. Re:Less coding, more assembling pieces by gweihir · · Score: 1

      It has gotten so bad, that if you are competent, you can actually code everything, excluding only the most standard libraries from scratch in the time it takes to get the components under control. Of course, using components leads to bloat, unwanted functionality (i.e. security problems), slow speed and low maintainability. Yet more and more people seem to be incapable of doing anything else.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:Less coding, more assembling pieces by dbIII · · Score: 1

      I'm in the same environment but with clusters. Glueing lots of things together in an interpreted environment is very useful but isn't everything because it usually comes with a speed cost, which while irrelevant in some situations it can consume hours per run in others. Some libraries/tools can take away a lot of the pain (eg. NumPy) but the more your interpreted stuff does the more it becomes clear that seemingly arbitrary blocking conditions are stopping it from doing anything useful for annoyingly long periods of time.
      I hit that problem frequently with a dotnet developer who is always complaining about "the network" when his tiny and trivial application runs dog slow instead of having the instant response you'd expect with 1.2MB of data in a CSV. He stopped letting me look at his code after I ran it with the data on the same machine and it was still dog slow (user staring at a blank screen for ten seconds or so, just like with the "network" problem). In that case things have been glued together very badly.

  8. c/c++, vi/emacs, make, ddd by mrflash818 · · Score: 5, Informative

    c/c++, vi/emacs, make, ddd.

    Lots of good years of use, likely many more years of usefulness, too.

    --
    Uh, Linux geek since 1999.
    1. Re:c/c++, vi/emacs, make, ddd by jfdavis668 · · Score: 1, Redundant

      Mandatory xkcd response - http://xkcd.com/378/

    2. Re:c/c++, vi/emacs, make, ddd by maligor · · Score: 1

      c/c++, vi/emacs, make, ddd.

      Lots of good years of use, likely many more years of usefulness, too.

      No-one in their right mind would use vi (I can navigate around it, but it's a PITA). I have to assume you mean vim. which is a very nice editor. And I've never used DDD and I never saw the purpose to it, gdb text mode seems easier to use, and it includes some fancy text mode ui features for register and code tracking, that some people might not be familiar with. I don't have anything against GUI debuggers, but DDD is pretty much an ancient throwback. Something like the QT Creator integrated debugger is actually reasonable.

    3. Re:c/c++, vi/emacs, make, ddd by gweihir · · Score: 1

      ddd? Not needed in most cases, unless you have created a mess. Also pretty hard to use if you only have a text-terminal. Plain GDB is actually pretty good.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    4. Re:c/c++, vi/emacs, make, ddd by sl149q · · Score: 1

      The above have been my IDE for several decades. Spread across two 22" screens, each of which has four 132x60 rxvts, and of course there are several dozen sets of those available to support multiple projects. With another couple of screens for running Chrome and testing on.

      Every time I try to use Visual Studio I feel claustrophobic because I can't look (easily) at four or five separate files in their own windows.

    5. Re:c/c++, vi/emacs, make, ddd by ADRA · · Score: 1

      Which is precisely why so few developers per capita program in the languages any more. If tooling isn't making one's life easier year after year, you're becoming a drag on the industry. I'm sure you'll be quite happy driving your fully manual car decades from now when dual clutch cars own the highways, but most people won't care about how archaic your ride is, or how superior your belief in it is either.

      If you want to freeze your development platform into somewhere in the mid-80's, that's your right, but the industry has moved on, and effeciency of development has long surpased most CLI based tooling for anything non-trivial. I wish you all the luck in the world though.

      --
      Bye!
    6. Re:c/c++, vi/emacs, make, ddd by djchristensen · · Score: 2

      It's interesting how so many people seem to just assume that newer tools are needed for more efficiency/productivity. Assuming the same code needs to be produced, the important part is the knowledge required to produce that code and have it be efficient and of high quality. The tools have absolutely nothing to do with that aspect of the job other than to provide a level of comfort to the developer. That's a highly personal thing and necessarily prohibits any usefulness of a "my tool is better than yours" argument.

      I greatly prefer emacs over a fancy GUI IDE for the largely same reason that I would prefer to do documentation in LaTeX over Word or LibreOffice. When the tool is largely invisible (which becomes true with enough experience), I can completely focus on the *content* that I am creating. That doesn't mean that I think my way is the best way for everyone, just the best way for me. It's where my experience has taken me. Not that I haven't tried newer tools or been forced to use them from time to time, but there's a high bar for them to get over to truly improve my productivity.

      My only real problem with GUI IDEs is when using them precludes not using them. While I've managed to mostly avoid the MS world throughout my career, where it has impacted me has generally been painful. The tools there tend to assume that everyone uses the same environment and make little or no accommodation for other environments. Yes, I know this is not universally true, but true enough that I will continue to avoid that world as much as possible. I can use emacs, make, and gdb on Windows, OSX, Linux, and more. Can the same be said about Visual Studio? (Running Windows in a VM is NOT a valid argument.) The rise of Linux as a common base OS in the embedded space is making this easier every day, thankfully. I'm not really trying to bash MS here, it's just a particularly easy example.

  9. I'm bitching about SQL Server Management Studio by SethJohnson · · Score: 4, Insightful

    Compared with tools we had 10 years ago or more, UIs have indeed improved significantly.

    No criticism of the OP here, but this got me thinking about one of my mortal enemies. The UI within SQL Server Management Studio. For the last decade of upgrades, I've really wondered how that development team leaves the office everyday thinking they are doing a good day's work. There are so many blatantly apparent rough edges to the UI for SSMS, I can't believe they think it's as good as they can make it.

    In order to avoid tldr, I'll just give a single example. Look at the tabbing for each database connection window. The tabs are labelled "servername.database" but are limited to a small number of characters regardless of how many tabs are open. Here's an example where there are only two open tabs:

    http://img.informer.com/screen...

    The first reason the labelling is fundamentally broken is that the database name is chopped off in an unnecessary abbreviation. The tab could stretch out to display the whole thing! It's not scrunched in with a bunch of other tabs. There's plenty of room there.

    The second reason this is broken is that the database name is the thing you actually need to see more than the server name. In the majority of use case scenarios, the user is connected to multiple databases on the same server. When switching tabs, you need to be able to locate the one for the database you're looking for within your current connections. Sure, there's that pulldown menu on the left, but that's a much further mouse drag than the tabs are from your focal point.

    So, if you're ever looking for an example of a developer interface that doesn't get a proper update, look no further than SQL Server Management Studio. It's hardly changed in over a decade of releases.

    1. Re:I'm bitching about SQL Server Management Studio by Aighearach · · Score: 1

      Yeah, I have a client using SQL Server and it is a royal pain. Luckily, most of the time I can accomplish my task by using an ORM+REPL from a modern langauge, like Ruby. Then I can just open as many REPLs as I need, or create multiple connections in one.

    2. Re:I'm bitching about SQL Server Management Studio by NoImNotNineVolt · · Score: 1

      Am I the only person that insists on calling it Microsoft SQL Server?

      If the next version of Windows was called "Operating System", would you just call it that?

      --
      Chuuch. Preach. Tabernacle.
    3. Re:I'm bitching about SQL Server Management Studio by Just+Some+Guy · · Score: 1

      Yes, you're the only one. Many of us don't call it anything at all.

      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:I'm bitching about SQL Server Management Studio by cat_jesus · · Score: 1

      Check out the red-gate tools and ssmstoolspack. SSMS tools pack has saved my ass so many times. It stores every query you run in a local database.

    5. Re:I'm bitching about SQL Server Management Studio by Bill+Dog · · Score: 1

      The database name is not chopped off in an abbreviation, that's the server (and instance) name that's being abbreviated, and the database name is not visible at all on the tab.

      Luckily you can customize which things get put on them. For example in SSMS 10.5, menu Tools/Options, expand Text Editor in the tree view, and select Editor Tab and Status Bar. My preference is database name and file name.

      Dunno why the tabs don't expand to show everything when there's available space. Come to think of it, I don't think I've ever seen that. Tabs in Firefox are fixed width too, truncating with an ellipsis instead of using the available space.

      --
      Attention zealots and haters: 00100 00100
    6. Re:I'm bitching about SQL Server Management Studio by Bill+Dog · · Score: 1

      It's a silly name because it doesn't serve up Structured Query Language, it consumes that. "Microsoft Relational Data Server" would've been better.

      (And for anyone old enough to remember, yes I know the product originally started out licensing Sybase's SQL Server engine.)

      --
      Attention zealots and haters: 00100 00100
  10. Here is how to get in to coding: by netsavior · · Score: 4, Insightful

    This advice is what I give people who ask me "how can I learn to program computers like you?"

    Build something. Find a problem and solve it. It doesn't matter what the problem is or how you solve it.
    Write a tic tac toe engine, or a photo slideshow generator, or a fart joke generator, or whatever you want to do. But you just have to do it.

    1. Re:Here is how to get in to coding: by ledow · · Score: 4, Insightful

      Precisely.

      I work in independent (private) schools. We have a few "star" pupils who want to be coders. They generally don't become them, not because they're not skilled, or couldn't do it, but because they've never sat down and done it outside of lessons that they waltz through. Following a course by-rote isn't learning.

      I also get asked an awful lot (by the younger years) how I type so fast and how they can "learn" to type that fast. Type. For years. Bang, you've learned. This is no shortcut, there is little technique, no amount of learning the home keys will help you type fast. You just have to type, lots, all the time.

      Same for coding. You can learn some theory. But to learn to code, you have to code. And with kids it's really easy - pick a game, program it. They know every kind of game, they will rarely fully complete anything approaching a full game before they get bored, disillusioned or just plain hit the limit of their skill level. The way past that point is determination and learning what to do. And that comes by just demanding that you code and discipline yourself.

      The true "stars" are the ones that persevere through those problems, solve them and come out the other end with ANYTHING approaching a complete program that isn't entirely trivial. Next time they have a coding problem, they know they just have to work at it to get past it.

    2. Re:Here is how to get in to coding: by Pro923 · · Score: 1

      Agreed. And if you have a talent for programming, you can get vast amounts of stuff done this way. The problem is, when you get into the corporate environment they tell you HOW to solve the problem, how they want the tic tac toe engine written and what variety of project management tools that you need to satisfy each and every time you make a change to your fart joke generator.

    3. Re:Here is how to get in to coding: by CRCulver · · Score: 1

      Build something. Find a problem and solve it. It doesn't matter what the problem is or how you solve it. Write a tic tac toe engine, or a photo slideshow generator, or a fart joke generator, or whatever you want to do. But you just have to do it.

      I rather disagree. There are already applications out there to do those things. An important concept in software development is don't duplicate effort. After someone has taught themselves a programming language from a book or sat through a uni course, better to convince people to find an existing project on Github or whatever, fix open bugs or start working on a feature addition that the devs have put on their wish list.

      Doing that teaches you how to craft patches and work with a team. Coding isn't generally a solitary thing any more, a person has to learn how to meet other people's expectations, writing code that the community around them can work with. Employers also seem to be more impressed with a portfolio of involvement in larger projects (which are by nature team efforts) than single-person itch-scratching.

    4. Re:Here is how to get in to coding: by vix86 · · Score: 4, Interesting

      I also get asked an awful lot (by the younger years) how I type so fast and how they can "learn" to type that fast. Type. For years. Bang, you've learned. This is no shortcut, there is little technique, no amount of learning the home keys will help you type fast. You just have to type, lots, all the time.

      While this very true; it helps to also give them a place that requires speed to push them to type fast. I've always told people that asked "how do you type so fast?" that I learned to type really quickly by growing up in IRC chat rooms with lots of people and multiple conversations going on at once. You had to learn to type fast to keep up with what was going on.

      Same for coding. You can learn some theory. But to learn to code, you have to code. And with kids it's really easy - pick a game, program it.

      The only problem I've ever had with using "games" as a way to learn to code is that the final product may not match expectations. To put it another way. I love programming because it gives me a means to solve problems. Sometimes the problems are concrete as "I need a piece of software on my desktop to tell me when I'm getting a phone call on my phone." That problem is focused, the solution is focused too. If your phone rings and you get a notification on your computer, you know you solved the problem.

      Games rarely offer up focused problems and solutions, especially for beginning programmers. A lot of game ideas are nothing more than "I want to make an RPG where I fight zombies." The solution would deceptively be to have a few characters in a bland world and some monsters labeled zombies, but game dev is never that simple and the problem space "grows." It goes from "rpg zombie game" to "rpg zombie hunting game where I must build a cure, save cities, and all while I'm working within this cool battle system." Games could be a great route to code but the path between problem definition and solution is huge compared to more simple stuff.

    5. Re:Here is how to get in to coding: by Gestahl · · Score: 2
      An important concept in software development is don't duplicate effort. After someone has taught themselves a programming language from a book or sat through a uni course, better to convince people to find an existing project on Github or whatever, fix open bugs or start working on a feature addition that the devs have put on their wish list.

      He said learning how to code, not how to develop software. Important distinction. Learning a programming language is like learning how to read. Learning programming itself is like learning basic English composition skills (i.e. write a 5 paragraph essay). It's easy to study, easy to evaluate, and easy to review, and you can focus on the details of syntax, semantics, grammar, and style. The logical analysis, presentation, and cites are important (the start of engineering and reuse, etc), but not the focus. Learning software development/engineering is like learning how to publish a properly annotated, logically argued and presented, and cross-referenced scholarly paper suitable for a journal. It (should be) a foregone conclusion that your syntax, etc. is proper. Now the focus is on consistency, coherency, structure, reuse of existing material, and aesthetics.

    6. Re:Here is how to get in to coding: by Aighearach · · Score: 2

      You completely botched the concept. Doing something to learn is not duplicating effort because if it was done before, it was a different person learning. Somebody else's effort can't be transferred in some sort of Vulcan Mind Meld. Each person does their own learning, and learning projects are not going to be useful end projects anyways.

      And no, most projects on github are NOT in need of "patches." There is a glut of people who want to be contributors. There is not a shortage. There is perhaps a shortage of quality contributions, but having people still in the initial learning stages submit pull requests is not useful to anybody, it is just pollution. You don't even do what you recommend, it is obvious from your language; nobody accepts patches, or reviews them, on github projects. You submit pull requests.

      Learn first. Repeat what others have done in the past. Implement a bunch of known wheels in the various known ways. Keep doing. Keep doing. This is how you learn. Then when you finally have a pull request to send, it is for a feature that was actually needed, and not "me too" vanity code.

  11. I agree by Anonymous Coward · · Score: 1

    As a (mostly) hobby programmer I agree. Tool complexity is much too high. Programming languages and widgets toolkits are relatively fine, though (except for intentionally blown up languages like Java). The real problem are the tools for building, packaging and deployment. For example, I was considering to package a cross-platform application I wrote for the Ubuntu "app store" but gave up after studying the in my point of view fairly complicated rules and process. Kudos to all package and repository maintainers, it seems to take more time packaging an application than actually coding it. I also admire anyone who masters the complete GNU toolchain, which, again, seems to require more programming in incomplete domain-specific languages with arcane syntax than writing the program to be built.

    I wish I had more time. Busy people like me need tools that allow them to write an application, copy&paste the docs and icon images and produce the executables for all major platforms. Some commercial toolkits come close to that, but unfortunately even those that once have started as affordable shareware have become ridiculously expensive.

    However, I'm not convinced that the reason for that state of the art is featuritis. Having the features never hurts, it's the way the tools have to be configured. Too many authors of programming tools do not know or do not seem to care much about ease of usability.

    Not just programming tools have usability deficiencies, though. I'm afraid GNU/Linux, which I use daily for work and fun, has similar problems. For example, Ubuntu frequently bothers me with a dialog asking me whether I want to give "an application" access the default key chain without telling me which one. How could you decide whether an application should be allowed to access your passwords when you don't even know which one? This is not only insecure, it makes no sense at all.

    Yeah, well, enough whining for today ... it's not that bad, is it ;)

  12. "Featuritis" in the whole computing ecosystem by gestalt_n_pepper · · Score: 5, Insightful

    New languages. New frameworks. New IDEs. New magic procedures...

    Some of it is good, surely. Who programs without classes these days? But every time I see someone come up with a magic new net language, framework, etc., I sort of cringe. I mean, do we really need another one? Do we need all the ones we have (I'm lookin' at you, Ruby...).

    The elephant in the room here that Microsoft, et. al. seems happy to ignore is that it takes time to learn AND recode this stuff. Time is money. If you're a teen or a student, you have time to mess with the next Ruby, or Dart, or GO, or BrainFuck or...

    As a kid, you have no money invested, and plenty of time. There's no risk.

    Fast forward 25 years. You still code for a living. You have a house, a wife, kid(s), car(s). You and your spouse are paying for all of this. Suddenly, genius boy at Microsoft invents Powershell! and convinces a few PHBs to roll it out. Suddenly, all your clients want Powershell! Quite frankly, you haven't got the time or interest in learning Powershell!. You wanted .net features added to VBScript and/or Jscript. You wanted backwards compatibility with existing VBscript and Jscript code. You wanted something that added value, not something that subtracted value by forcing you to go back to the drawing board and recode perfectly functional tools to satisfy a corporate IT security requirement from the corporate PHB that says, "Use Powershell!" for which you may, or not be paid, depending on how well your contract was written.

    Disclaimer: I like Powershell, but it was the wrong decision.

    The problem, quite simply, is this: Change!=Improvement. Change!=Better. Sometimes you get lucky. At other times, not so much.

    --
    Please do not read this sig. Thank you.
    1. Re:"Featuritis" in the whole computing ecosystem by gestalt_n_pepper · · Score: 1

      Lucky you! I'm sure this will terribly valuable in 20 years time, much like my ability to do code typesetting on a Compugraphic Quadex 5000 using Forth.

      --
      Please do not read this sig. Thank you.
    2. Re:"Featuritis" in the whole computing ecosystem by Beck_Neard · · Score: 4, Insightful

      Rapidly introducing new tools and deprecating old ones unnecessarily is part of Microsoft's business strategy.

      --
      A fool and his hard drive are soon parted.
  13. Assembler only - One Coder - No backdoors. by MindPrison · · Score: 2

    Yep, I live in the stone ages, but at least I know every corner of my systems.

    --
    What this world is coming to - is for you and me to decide.
    1. Re:Assembler only - One Coder - No backdoors. by MindPrison · · Score: 1

      ...and btw, those systems are OFFLINE ALWAYS! ;)

      --
      What this world is coming to - is for you and me to decide.
    2. Re:Assembler only - One Coder - No backdoors. by NoImNotNineVolt · · Score: 1

      *envy*

      I'm stuck in frameworky Java land. I want to slit my own throat. How the fuck do you manage to find a job writing low level code? I thought that shit died out in the 80s!

      --
      Chuuch. Preach. Tabernacle.
    3. Re:Assembler only - One Coder - No backdoors. by MindPrison · · Score: 2

      How the fuck do you manage to find a job writing low level code? I thought that shit died out in the 80s!

      I didn't.

      And no, that shit is far from dead. You'll find lots of assembly in specialized proprietary hardware where it's easier to just implement your own code instead of using an entire suite of libraries and ready made IDE packages.

      What I like about coding assembly, is that it's relatively straight forward, ok...the math really isn't as we don't have the luxury of floating points in every variable, various math function - and we need to keep track of our code jumps as the MCUs have certain limitations when it comes to branching here and there.

      I usually use older MCUs too as I don't have to deal with numerous layers of special codes to access special features of the chip. I keep things on a simple I/O level - and add "shit" as I please. No need to have an AD/DA converter with every thing I come up with, so I just add the hardware layers I need and what whenever I need them. I've been thinking of moving to FPGAs...now THERE's something that would eat my time. Assembly is the simple shit. (But very gratifying and fun to do, even for beginners).

      --
      What this world is coming to - is for you and me to decide.
    4. Re:Assembler only - One Coder - No backdoors. by Arker · · Score: 1

      Indeed, ages ago, I used to have so much fun with assembly.

      High level languages sucked all the fun out of programming for me though.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    5. Re:Assembler only - One Coder - No backdoors. by PurpleAlien · · Score: 1

      If you want to get started with FPGA's, consider the ZedBoard: http://www.zedboard.org/. The Xilinx Zynq offers the best of both worlds; you've got two Cortex A9 ARM codes (with NEON etc.) and FPGA fabric around it where you can implement your own peripherals and communicate with them from the CPU. You can use it as stand alone FPGA or Linux system as well, and gradually start using the 'other' side.

      --
      My blog, if you're interested: http://www.purp
  14. Yeah, and ....? by varwwwawesomecodersi · · Score: 1

    I don't really understand what you're trying to say here. I don't know COBOL. Are you saying that if you gave me an assignment to parse a data stream in COBOL, and I couldn't do it in COBOL because I don't know COBOL, but I could both demonstrate a solution in another language and learn COBOL at a later date, I would still FAIL?

  15. Know at least one level deep of abstraction by quietwalker · · Score: 1

    A good rule of thumb is that you must understand your program at least one layer of abstraction past the user layer to be truly competent with it.

    That's frameworks, libraries, languages, whatever.

    This knowledge is often the difference between the experts and the experienced novices, and I think we all innately know this once we've experienced it. Java provides a nice example, because they build that requirement into their certification program and learn about obscured concepts like memory utilization and object creation, but examples exist elsewhere. That 'Aha!' moment when you read Effective C++, or when you grok EF, or understand why Backbone.js does the things it does in the way it does them. I've even seen it on graphic designers who were forced to write raw HTML and CSS, rather than Dreamweaver or Muse.

    This isn't even a program-from-bare-metal argument, it's just simply a matter of understanding the underpinnings in order to write decent code, instead of just adequate code.

  16. Re:IDEs are for wimps by Aighearach · · Score: 1

    Sorry Petey, but the coward was very clear. He doesn't like IDEs for GUI editors normally, but the only place (android) where he thinks it would be useful, the options suck.

    It wasn't actually a hard one to understand.

    And he has a point, because XML is designed to be human readable in the loosest sense, but it is not designed to be actually written by humans. And CLI tools are very awkward on android, because most android devices don't have a physical keyboard. If you're knowledgeable enough to be commenting on this story, you should know all that already.

  17. Re:Yeah, and ....? by lgw · · Score: 1

    There hasn't been anything new in CS since the 80s.

    No really.

    Nothiing.

    AJAX was new. Used to be the terminal and back-end would only exchange data when you hit the xmit key, and of course the web re-invented this pattern adding nothing new, but then it actually went a step beyond. Of course, it's mostly abused in horrible ways to punish the user for the crime of being a customer, but then, what tool isn't?

    Other than that, yup, mostly re-inventing of the wheel by people young enough not to be there for the last trip round.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  18. Maybe by Anonymous+Brave+Guy · · Score: 3, Interesting

    It seems really, really tough to get anyone finance-minded in the *business* of making software to understand that it's worthwhile to do exploratory development of tools and techniques to be much more productive later on.

    Perhaps, but any such exploration and the resulting tools have to beat the baseline of a decent text editor, a decent version control system, a decent scripting language, and starting to write code within a minute of deciding the project is ready to begin.

    For a long-running project with many developers and other contributors performing repetitive or error-prone tasks, maybe it will be worth investigating, selecting and adopting some external tools to automate some of that work, at some stage in the project when you know where the pain points are. But if your development team aren't newbies, they will be perfectly capable of building their code manually at first, they will surely already know their universal Big Three tools very well, and importantly, they will just code up any basic automation on the fly as the project grows and the needs become apparent.

    IME, that turns out to be a surprisingly tough standard to beat. I've seen many, many projects get bogged down in their own infrastructure because they felt they should use some type of tool and forced themselves to do it, not because they necessarily needed that tool or found it useful in practice. Of course good tools can be useful, and of course sometimes it is better to bring in help from outside the project rather than being too NIH about everything, but it's important to stay focussed on the goal and not to forget that tools are only means to an end.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  19. vi, c, make, sh by turgid · · Score: 1

    That's all you need. (OK, implicit with c is the c compiler, pre-processor, assembler, linker, disassembler and strace). The old timers knew what they were doing.

  20. UI has improved? by epyT-R · · Score: 1

    Are you kidding? Efficient design peaked somewhere in 2000. Today, they're too simplistic, too spartan, and waste too much real estate, and then try to cover it up by sticking search boxes all over everything. The gap is only apparent because methods to complex processes have since been dumbed down for the benefit of illiterate users at the expense of making it as quick as possible for users who do know what they're doing to get at what is needed. This has made them harder to use for all but the simplest tasks.

    1. Re:UI has improved? by bored · · Score: 1

      I'm going to ad that I think usability with regard to discoverable interfaces probably peaked somewhere around 2000 as well.

      Since they we have have had one trend after another to make interfaces look slicker at the expense of discoverablity.

      First we started hiding visual hints (underscores on windows menus to indicate matching keyboard shortcuts). On and on, and lately we have the "flatten" UI paradigm where its impossible to even tell what is an active control from its surroundings until you start clicking/touching it.

  21. Welcome to the Next Level. by VortexCortex · · Score: 5, Interesting

    I reached that point in the 90's.

    Now I write all my code in a meta language that compiles down into COBOL, C, C++, C#, Erlang, FORTH, Fortran, Google's Go, Haskel, Java, Javascript, Perl, PHP, Python, Ruby, Rust, and more.

    It takes about two weeks for me to learn a new language and write the "runtime" for my meta compiler. Then I can deploy all of my existing solutions on the new platform faster than the other guys can get "Hello DB Connection" out the door.

    Fuck all the shitty languages and "new" platforms. Now that you've actually grown up and stopped being a fucking fanboy, go write your own meta compiler. I'll open source mine when I retire, it's what gives me the edge over all the noobs still wasting time reimplementing their wheels.

    1. Re:Welcome to the Next Level. by JesseMcDonald · · Score: 5, Insightful

      That sounds like a great idea. Since you're coding for the least common denominator, you obviously get none of the benefits of the target language, while still suffering from all of its issues, plus whatever additional issues are introduced by your under-spec'd and idiosyncratic "meta language" and "meta compiler".

      To top it off, no one else will ever be able to maintain or build on what you write, so you're stuck with that job forever, unable to move on to something better—or at least until TPTB wake up and realize that it's far more trouble than it's worth and throw it out in favor of something which is properly idiomatic and standardized and which doesn't make them wholly dependent on you and your "meta compiler".

      No thanks.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    2. Re:Welcome to the Next Level. by Beck_Neard · · Score: 1

      I can see a 'meta-compiler' for C, COBOL, C++, and Java being a workable and useful idea (and there are plenty of open-source 'meta-compilers' for these languages), but I can't imagine it possibly being an efficient way to compile in Haskell or Python or Erlang. How would you integrate all the vastly different language features together? Answer: you can't, you have to use ugly workarounds that are slow, brittle, and very, VERY hard to debug.

      Until I am convinced otherwise, it seems that just the time wasted on debugging (is the problem in my code or in my codegen?) would warrant learning the languages directly.

      --
      A fool and his hard drive are soon parted.
    3. Re:Welcome to the Next Level. by msobkow · · Score: 1

      Well, while he's busy sitting on his "proprietary" meta compiler, here's a tool that uses XML to define a business application model and which can be used to produce any text-based language code you might desire. I'm focusing on building Java applications with it.

      Unlike some people, I have no where near enough ego to "sit on it" until I "retire." I'd rather people gain whatever use they can as early as they can. Sure it's not perfect and it's not what *everyone* needs, but it works for what it does so far: six database products, a Java ORM, XML parsers, XML messaging for RPC-type behaviour, and I'm working on a prototype/demo Swing GUI right now.

      So download http://msscodefactory.sourceforge.net, play, have fun, try it out. No charge, no strings, no bullshit.

      But most of all, no ego. I know I'm not "brilliant" or "innovative", just stubborn and persistent.

      --
      I do not fail; I succeed at finding out what does not work.
    4. Re:Welcome to the Next Level. by phantomfive · · Score: 1

      Fuck all the shitty languages and "new" platforms. Now that you've actually grown up and stopped being a fucking fanboy,

      Yes. Eventually you realize it's the programmers that make the difference, not the language.

      Any time you hear someone say, "we're going to rewrite this because the new language will make things better" you know that their new product will be even worse.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:Welcome to the Next Level. by phantomfive · · Score: 1

      How has it worked for you, compared to say, writing in Java?

      --
      "First they came for the slanderers and i said nothing."
  22. Re:Change for the sake of change by VortexCortex · · Score: 1

    Here's news for you mate. There is no shortage of skilled workers. There is only capitalistic elites applying very strict selection requirements via flavor of the month bullshit requirements (ignoring that coders learn new languages without having to get a degree or cert). This is done so they can pretend to be looking for workers, when in fact they are trying NOT to hire anyone so they can meet the government's requirements and employ more lower paid H1B visa workers. There are actually HR seminars about how NOT to hire people while still complying with the requirements of looking for work. "Oh my, you don't have a Certificate or Degree in $LANG, I'm afraid that's a requirement. Yes, you may say you know it, but how do I know that?" In fact, they just filter all applicants by their strict filter and you don't even get interviewed. They have to interview a few folks, just to seem legit, but that's the nature of this beast.

    http://www.washingtonpost.com/...

  23. Re:Yeah, and ....? by Arker · · Score: 1

    I don't really understand what you're trying to say here. I don't know COBOL. Are you saying that if you gave me an assignment to parse a data stream in COBOL, and I couldn't do it in COBOL because I don't know COBOL, but I could both demonstrate a solution in another language and learn COBOL at a later date, I would still FAIL?

    Not the same guy but I think we are on the right wavelength.

    Here. Now go parse that stream using Cobol.

    I dont care if you have ever heard of Cobol or not. I have never used it myself, and I havent been a working programmer in decades. But if I needed a parser written in Cobol I expect I could search for the docs first thing in the morning, find a syntax reference, and have a working if rough parser done before lunch. If this sort of work was needed by me on a regular basis I expect I would become very familiar with Cobol and a week later I would re-implement that parser in less than an hour and do a much better job.

    All a computer can do is math, or if you prefer to think of it as symbolic logic, fine. But it's still all the same stuff. Any high level language you use, no matter how strange the syntax, no matter how unfamiliar the vocabulary, is still the exact same thing at core. Logic. Arithmetic. Algorithms.

    A particular language may be a pleasure to work with, or it may be a pain but end of the day if you understand logic you should be able to translate your logic into any language for which you can find useful reference documentation.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  24. Re:Microsoft and Borland by david_thornley · · Score: 1

    You know what was so nice about Borland's Turbo Pascal when it came out? It was being able to write, compile, and run programs without restarting applications.

    Consider my first C compiler for my home computer. I had to bring up an editor and write the code. Then I got out of the editor and ran the compiler and then the linker, and then I had an executable. Then I got Turbo Pascal, and I could work on programs without invoking multiple applications and switching disks. Yay! I'm a lot less impressed with IDEs when I can have multiple xterms and, for example, just keep vim up all the time.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  25. for( mostly=0; mostly < lengthOfVec; mostly++) by DavidHumus · · Score: 2

    How much time do you waste with boilerplate crap like this because of nearly clumsy array-handling ideas that date back to the Great Flood?
    How bloated is code because of the vacuousness of most common languages that
    require
    several lines
    to do
    the simplest
    things?

  26. Learn Erlang by Anonymous Coward · · Score: 1

    With Erlang. You will learn something that is worthwhile and will last (it's been around for 30 years).

    http://learnyousomeerlang.com/content

  27. The big problem of "word processors" by dbIII · · Score: 1

    Offtopic a bit maybe, but the big problem of the larger "word processors" is that they try to supply half of a full desktop publishing system as well and it's not the useful half. You can spam pictures all over a page but can't place them precisely - you have to fuck about with other settings and hope they wobble into place.
    IMHO it's the feature creep where the word processors approach DTP without getting there that gives that 90% that is marginally useful.
    Similarly with IDE's that try to approach LabView but never get there - mainly because somebody points out that a LabView GUI is almost limited to a write-only approach for small and well organised bits of code and an unreadable spaghetti explosion beyond a certain size and complexity.

  28. Q:How do tool makers earn a living? by plopez · · Score: 1

    Q:How do tool smiths earn a reputation? Q:How do consultants retire from coding? The answer my friends is obvious, build more tools which are also more complicated and require constant throwing away of previous tools and work. Git is fine and interesting but has not solved the most important problem which is merging. And neither has the VSS, SVN, or VCS or anything else I am aware of. I haven't used a build tool yet that doesn't solve the dependency inconsistencies or merge issues that crop up. Code review tools are nice to have but only address the impact of changes in a very narrow area, usually only in the area where someone is looking which is often just a few lines of code.

    Test automation is OK, but amounts to nothing more that regression testing. I have seen very few negative tests even though pumping noise into a program is easy to do.

    I get this uneasy feeling now and then that we are focused on shiny things ("Oh look! it uses [funny animal | cartoon character ] as a mascot!"] and not looking at the fundamental, and sometimes hard, problems which if solved, or at least tamed a little, would really help.

    --
    putting the 'B' in LGBTQ+
  29. Love the manefesto. by Ungrounded+Lightning · · Score: 1

    It's right on!

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  30. Tools just get worse. by LostMyBeaver · · Score: 3, Funny

    15 years I coded with Qt professionally and came to love and adore it's quality and simplicity. I even wrote and operating system which was a microkernel and everything else was based on Qt Core.

    I wanted to make a simple project the other day and Qt failed me. It seems that code goes in without unit tests these days and shipments are made without any quality control.

    I used Qt because I'm not the typical loser Linux developer who wants to spend 50% of their time just fixing their tools or reporting bugs to package maintainers.

  31. Re:Change for the sake of change by Bill+Dog · · Score: 1

    This is done so they can pretend to be looking for workers, when in fact they are trying NOT to hire anyone so they can meet the government's requirements and employ more lower paid H1B visa workers. There are actually HR seminars about how NOT to hire people while still complying with the requirements of looking for work.

    http://www.youtube.com/watch?v...

    --
    Attention zealots and haters: 00100 00100
  32. Sometimes tools are just better though. by Jartan · · Score: 1

    I was with him until he said use Subversion if it does what you need. I can't agree with that. Cheap forking is so superior that you have to learn it at some point.

  33. The real truth by lucien86 · · Score: 1

    In a word its all about 'marketing'. The sales shivs cant sell you a new copy if they haven't got some new gizmo to flog. In my experience new code / versions often get as much worse as they get better, and so often a complete rewrite leaves you with a vastly inferior product. (That's how they created Windows Vista and Windows 8...) I wish the old saying nothing ever changes were true - it does change, it gets worse.. :D

    Talking about excessive complexity. My loathing for modern dev tools and OS hit a head when the cutting edge app that I was creating - (that needed a custom memory manager) turned out to be impossible to create because I just could not get enough power over the OS. The next iteration switched to looking at Linux, better but still no joy. Then I looked at crafting a custom OS, this naturally was a nightmare, but then I hit the basic wall that there's no public documentation for a lot of the hardware and that everything needs to be done through custom device drivers - which require a standard OS. The next level was to look at embedded systems - these are much better and offer real control, but nowhere near enough processing power. The final solution was Verilog and FPGA, not so bad as there were always sub-units in this app that really needed custom hardware anyway. The punch line though is that it sets a timeline for completion that could be creeping up to ten years, a lot more costs, and...

    --
    Below the speed of light Special Relativity is one of the most accurate theories in physics - above the speed of light..
  34. "UIs have indeed improved significantly" by PJ6 · · Score: 1

    Compared with tools we had 10 years ago or more, UIs have indeed improved significantly.

    I don't know what crappy tools you've been using, bub, but the Visual Studio UI is roughly the same as it was 10 years ago (and no complaints).

  35. xkcd by mrflash818 · · Score: 1

    : )

    --
    Uh, Linux geek since 1999.