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."

240 comments

  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 Anonymous Coward · · Score: 0

      I can use vim and Linux command line when the task at change changes, but you can't use Visual Studio for more. But I guess you're lucky, because then the company has to hire more people for those tasks. Hmm... I may be on to something. I'm not contemplating having a lobotomy so that I can work in a big company without being abused for my skills...

    5. 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.
    6. 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.
    7. 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.)

    8. Re:Join a Free Software Project by Anonymous Coward · · Score: 0

      I agree with you. IDE's are a good tool for a good programmer to become a better (More efficient) programmer. But using an IDE doesn't make you a good programmer. They are a tool, nothing more. And if used incorrectly they can become a crutch, which can inhibit or degrade the skills of some programmers.

      If your using an IDE to program, take break from the IDE every once in a while to show that you can still code without it. Maybe even try an alternative IDE for a smaller project once in a while to get an idea of what else is out there.

    9. Re:Join a Free Software Project by Anonymous Coward · · Score: 0

      If only writing free software could put food in your belly.

    10. 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 Anonymous Coward · · Score: 0

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

    7. 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.

    8. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      What are you babbling on about?

      If you have a 4Meg definition file you are doing something seriously wrong.

    9. 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.
    10. Re:Tool complexity leads to learning the tool by netsavior · · Score: 1

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

    11. 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.

    12. 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.
    13. 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.
    14. 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.

    15. 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".

    16. 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.
    17. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Totally irrelevant. SSIS is purpose-built to be a visual tool. That's not coding (you can of course use Script Tasks but it is by no means necessary).

      Additionally, the .dtsx output is just an XML file. You can read it if you want.

    18. 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.
    19. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      >...1997...That was the last company I worked with MS 'tools' /languages for coding 'real' software...

      So you're basically ignorant on the topic but decided to chime in anyway? Thanks so much for your valuable input. The contributions of people like you make Slashdot the place that it is today.

    20. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Visual Studio is partly a RAD tool.

      It doesn't have to be a black box but it can be if that's what you need.

    21. 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...

    22. 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.
    23. 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.
    24. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Shh, the Linux people want to believe their shit editors from the 80s makes them better programmers. Hey, I can edit files in notepad and stab an icepick in my balls too.

    25. 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.
    26. 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.
    27. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Honestly, who gives a shit? If they can roll out productive code faster, more power to em. Who gives a shit about the nuances of SOAP when that can be abstracted? I sure don't. If something goes wrong with an abstraction, just fucking google it. It's not hard.

      We get paid to produce working, well written software. If it takes someone 2x as long because they refuse to use productivity tools, they are 1/2 as productive and deserve 1/2 the pay. They can go on and on about how artisan their software is, but the people who cut the checks really don't give a shit.

      This is the reality of professional software development.

    28. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Oh, and one more thing, if you are using any language that is assembler or higher, guess what? You are using a fucking abstraction.

    29. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Hell, most of the time you don't get to pick what you do. 'Allow'!?!?! What a laugh. Try telling your boss that you won't 'allow' poor tools...

    30. 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.
    31. 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.

    32. 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".

    33. 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.

    34. 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!
    35. 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.

    36. 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...

    37. 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.
    38. 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.
    39. 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!!
    40. 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.

    41. 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!!
    42. 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>

    43. 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.
    44. 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.

    45. 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
    46. 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.
    47. 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.
    48. 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.
    49. 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.
    50. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      I have to say I find the emotion you attach to a non-emotional subject not only pathetic but repulsive. Claiming all java programmer can be considered fundamentally incompetent, is no better a statement than "my dad's better than your dad because he makes more money"; an emotionally charged statement with little or no reflection of reality. I happen to be a java programmer for over a decade, and yes, I understand how computers work, at a fundamental level I find lacking in many of my compatriots. But then I've been doing the computer thing since the early 80's.

    51. 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.
    52. 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
    53. Re:Tool complexity leads to learning the tool by Boronx · · Score: 1

      Even for a computer?

    54. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      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.

      So can I; only I use powershell instead of Sh

      Then I just type make to rebuilt it all and my unit tests tell me that it worked.

      Granted, you have to type 3 characters less; I have to type 'msbuild'

      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...

      You're an idiot and are stuck in the 90's; go take your bashing somewhere else

    55. 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.
    56. 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.

    57. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      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.

      I know that since I'm an AC this will never get seen, but I'll feel better putting it out there. You, sir, are an idiot. You clearly have no idea what you're talking about, fail at reading comprehension and just hate MS because it's "cool". Seriously... an idiot.

    58. 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.

    59. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      I use breakpoints in Sublime Text all the time. What language do you use where they are not supported?

    60. 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.

    61. 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.
    62. 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.

    63. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      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.

      I am confused? How do you perform your constant integration, QA and release builds? They come from someone's workstation? How could anyone work on a project that did not have a scripted build that was built in a controlled environment? I have no sympathy for people that build from a developers IDE and push that to production.

    64. 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.
    65. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      The problem is that you laid off the developers who knew.

    66. 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.
    67. 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.
    68. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      I agree, there is no replacement for competence. I think some of you folks are obsessing about the wrong part of the process. My impression is that most projects which fail do so because of bad design and/or bad management. In any project where the developers do not understand the tools, you are looking at a serious management failure.

      I create much more complex applications now than I could have afforded to 20 years ago. I build business applications that make the users' lives a lot easier and prevent a lot of bad data being entered, which requires a lot of code. Years ago I created my own automation tools to write stored procedures and data access code. Now that the commercial tools are good enough to do the tedious work for me, I use them.

      Anyone who wants to code with a text editor is welcome to it, but I need to be more productive than that.

    69. Re: Tool complexity leads to learning the tool by namgge · · Score: 1

      So are its authors.

    70. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      anyone else getting the idea that these two guys are sitting at desks next to each other and not getting work done?

    71. 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.

    72. 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"
    73. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      > 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.

      Yes. It's astonishing how slow and fragile these massive balls of Java spewed shit are, and how much extra coode/libraries/xml config they pull in.

      We are replacing a program written by 20 incompetent Java programmers over 10 years, with a program written over 6 months by 2 proper developers.

    74. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      > 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.

      This is exactly right, (except for maven)

    75. 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*

    76. 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.
    77. 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.
    78. 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.
    79. 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?

    80. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Bad projects, I have yet to be in a java project where a build file was not a must. In fact the build file always is the main build target, the IDE has to wrap itself around the build file, not vice versa.

    81. 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.
    82. 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.
    83. 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.
    84. 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.

    85. 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.
    86. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      A great way to enforce this without being taken as a jerk is to require that the software be buildable in something like Jenkins. That gets the goal you want (Jenkins can't run an IDE to do a build, so you have to make it work from the command line at least) but comes with some other benefits that may be appreciated by your fellow developers that love their IDE: over-time code test coverage reports, automatic or semi-automatic deployments, integration with code review systems, etc.

      They may find themselves bending over backwards to comply with your wish without feeling like you made them do it under duress, which is always a bonus.

    87. 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.

    88. 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?

    89. Re: Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      haha, I wish I had mods to mod that funny. how awesome would that be if they were coworkers.

      worker1: what Are you doing I keep hearing your keystrokes over mine.

      worker2: arguing wit some idiot on slashdot.

      worker1: are you serious, how ironic, me too.

      worker2: hey do you know how to fix this VS error I keep getting?

      worker1: ***pauses for a second****

    90. 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"
    91. 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.

    92. 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.

    93. 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"
    94. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      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.

      Ah, so that's Java's fault!

    95. 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.
    96. 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.
    97. 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.
    98. 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.
    99. 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.
    100. 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.
    101. 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.

    102. 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.
    103. 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.
    104. 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.
    105. 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.
    106. 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.
    107. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Well, duh, there are no absolutes, but the majority of abstractions do.

    108. 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.

    109. 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.

    110. 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.
    111. 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.

    112. 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?"

    113. 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.

    114. 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.

    115. 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.

    116. 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.

    117. Re:Tool complexity leads to learning the tool by Anonymous Coward · · Score: 0

      Why is something seriously wrong? Do you believe GUI development using vi is as productive as a good wysiwyg IDE?

    118. 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.
    119. 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.
    120. 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.

    121. 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

    122. 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. IDEs are for wimps by Anonymous Coward · · Score: 0, Informative

    My development chain starts in the terminal (I program mainly for Linux; your Windows experience may be impossible to adapt to match). I have vim as my editor (and have nothing against people who use emacs). Once in a blue moon I try a GUI editor (like gedit, geany) or an IDE (like Eclipse or Netbeans), and I always find myself going back to vim, because everything else slows me down. My documentation is on the Net. If I need to know something about an API I google it. I don't miss autocomplete very much, as if I know what I want then vim's Control+N suits me very well. If I don't know what I want, then autocomplete will not really solve it for me anyway. I write my own makefiles, and call the auxiliary tools (is a compiler "auxiliary" to editing code?) knowing very well what I want them to do. For version control I also use the command line, because GUI tools never seem to help, and always seem to hinder.

    I find myself very productive given that I don't use "productivity enhanced" tools.

    What I would very much want is a fucking GUI editor for Android apps, because editing XML files from scratch is getting on my nerves. I don't know what makes it so much more annoying than editing straight up HTML though. Maybe I just didn't familiarize myself the Android GUI XML well enough to use it, but given how easy it is to do things in Xcode for iOS, I think Google need to put some effort into it. I think Xcode is pretty much the only IDE that didn't get in the way when I needed to use it, but I can't use it for more than iOS apps, or on Linux so...

    1. Re:IDEs are for wimps by OzPeter · · Score: 0

      Once in a blue moon I try a GUI editor (like gedit, geany) or an IDE (like Eclipse or Netbeans), and I always find myself going back to vim, because everything else slows me down

      What I would very much want is a fucking GUI editor for Android apps, because editing XML files from scratch is getting on my nerves.

      So you dislike GUI's but secretly desire one?

      I'd posit that your anti-IDE/GUI experience is based around tools that don't meet your needs, and your XML editing desires show that you are looking for tools that meet your needs.

      I'd also posit that having the right tools would make you much more productive than bare bones editors (compared to a fully fledged IDE)

      --
      I am Slashdot. Are you Slashdot as well?
    2. 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.

    3. Re:IDEs are for wimps by Anonymous Coward · · Score: 0

      Original AC here. Your observation about tools that don't meet my needs is correct. I'd gladly use a GUI if it met my needs. I mean, I rarely see myself editing SVGs by hand when Inkscape can do that for me more efficiently. My complaint is that each time I try a new GUI tool that is supposed to make my job easier it ends up making my job harder instead, and when a GUI would actually be better suited (to edit graphical stuff), there isn't one (everybody seems to be too busy re-inventing ALGOL 1000 times over and writing Javascript interpreters in Javascript). I can easily do "find -type f -name '*.php' -exec grep -nH 'this_thing_I'm_looking_for' ';' " or "git grep Stuff | grep -v /file.sql.I.don't.want.polluting.my.results:" and other things involving filtering through logs of my application (tail -f log.file | grep -A 3 log_file_pattern). Do you know any IDE that can do that?

      And it's not just IDEs. Anything I do to my machine is usually better done in text mode rather than using some GUI - which has a way of hiding the things I need or not providing them at all, although the underlying system it operates on can do it and all you have to do is close that GUI and "man thing.conf" for half an hour.

      What does the terminal do in my workflow that I haven't found in any IDE yet? It allows me to pivot to a directory (cd /path/to/work/in) and then arrow up in the history and edit the history entry if necessary before running it because the changes I'm making go across several related files in the pivoted path, and I usually edit them in groups of 3 or 4, so I can just press the up arrow, or Control+R to do a search, and I'm quickly at the file I need - somehow using tabbed windows doesn't work as well. In a tree widget in an IDE I find myself jumping through the tree randomly because I insist on using the keyboard (typing letters in the filename) to reach my file. And then I have all these files called index.html.twig part of many CRUDs with identical structure. The only way would be to use the mouse and visually identify the file I want. Well, since I'm going to reach for the mouse, I may as well press the X button on the window decoration. I don't just switch to files that way. I run other repetitive commands too, many times invented for a task I found myself repeating for the given project over and over again, but are irrelevant outside it.

      I have this urge to say that because of the above I no longer touch Windows for anything. When people say it is a toy operating system, they mean something along the lines above. I had to allow pings on a Windows 8 machine the other day. Disabling the firewall didn't help. The stupid option to do that wasn't just hidden deeply within a lot of dialogues, but it wasn't even named naturally. Google's screenshots didn't match my screen. I gave it back to the guy who was using it as soon as I could, and I went out and screamed.

    4. Re:IDEs are for wimps by Anonymous Coward · · Score: 0

      (Same AC again) Oh, you know what I'd really love in a _programming_ editor? It's something that has been on my mind for a while now, but I don't have the time nor knowledge to write it myself:

      I want to tell the editor that I'm using language X inside the file, and I want it to not let me commit any statement with syntax errors in it to file. For that time when I need to move away from the statement to look something up that I need in order to continue the statement, the statement needs to be marked as incomplete. The editor needs to be so aware of the concepts of expression and statement that I will never, ever, forget a semicolon at the end of it again. It needs to know a function that has several prototypes and I've chosen one of them I'm not allowed to use one of the others without explicitly telling it to switch the statement to use the other prototype.

      Imagine "grouping" in graphical editors like Inkscape. A group is a logical block, which could go in another block, and so on. It will never forget to close the friggin' tag for you, and you can't even force it to short of going into the text file representation. All those tags are always properly formatted throughout your work.

      Current IDEs do a simulation of the above: they auto-add your ending tag, or closing parenthesis, bracket, curly brace, or (single or double) quote. They auto-indent after you press enter. But after that you can piss into the code layout any way you like.

      Get me the above in an editor, and I'll probably camp outside the store to get the first copy.

      But NOT a blocks programming language. Fuck those. Drag and drop programming? #Gimmeabreak.

    5. Re:IDEs are for wimps by Anonymous Coward · · Score: 0

      And advantage of that statement-awareness could also result in code that follows the company code layout policy in files, but displays on your screen however you actually like it laid out: 4 tabs? 8 tabs? spaces? open bracket on same line? next line? GNU crazy bracket indent? :) Now _that_ would increase productivity in my case.

    6. Re: IDEs are for wimps by Anonymous Coward · · Score: 0

      Text mate ?

  4. Do you speak it? by necro81 · · Score: 5, Funny

    Sounds like we need some Programming, Motherfucker!

    Do you speak it?

  5. 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?
  6. Part of the problem already given in summary by Anonymous Coward · · Score: 0

    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.

    To be fair, that's because many new techniques and tools are focused on maintenance and not the initial writing of code. It's fairly obvious that you wouldn't see much benefit of things focused on the post-project during the construction of the project.

  7. 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 Anonymous Coward · · Score: 0

      Here is the thing. I *could* go back to using just vi and fixing scripts and code. Would I? Oh hell no. Those tools when I use them make things zillions of times easier. Auto lookup of function prototypes and a short explanation on each one and the params? Yes please. Or go back to the old way and grep thru the files and hope you find the prototype and hopefully someone put a comment on it. Or maybe the docs are up to date. Tools that show interdependency of functions and easy ways to refactor names? Yes please. Or go back and use sed/awk and grep and hope you get it right. Someone blarfs a checkin why did they do it? Was it an honest mistake? Or were they doing something you do not understand?

      These tools help. Most of the time it is a matter of just knowing they exist and how to work them. Could I go back. Sure. Would I? Why?????

      The only thing that grinds my gears is the number of different text editors out there. Do we really need another one? Is your use case that special that you need a whole new editor for it? I doubt it.

      The second thing that grinds my gears is the speed that these frameworks run at. I kept an ancient copy of visual studio 6 for a long time. Just because it started very quickly. vs 2012 takes ages to startup. I accidentally clicked 2008 yesterday then started 2010 right after it. 2008 was up in 2-3 seconds. 2010 took minutes 2012 is even worse. There is no reason for these frameworks to take that long to startup. They in the end are basically glorified text editors. Dont even get me started about eclipse or netbeans.

    2. 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.
    3. 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

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

      Truly, you are at one with the Tao.

    5. 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."
  8. 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.
    2. Re:ultimately the misperception is by businesses by Anonymous Coward · · Score: 0

      Problem is, good programmers are not cheap. I'm a programmer for 30+ years. In my teens I built libraries for 3D textures, sound, music, synthesizing through PC speaker, playing with horizontal and vertical monitor retracing to create funny effects on the CRT, played with AI "fuzzy" neural nets, created scrolling game, etc.

      The way companies treat programmers and plan their work, makes my decision to leave "professional" programming altogether, and just tell people what to do through the sysadmin-role all that much more pleasing. On the bonus side I've got enough surplus energy and ideas to have programming as part of a hobby on the side.

      Now, our team of programmers are in the middle of a war (Ukraine). My guess is that the company will spend much more money outsourcing this, than paying decent wages and create highly motivated, self-directed local teams that can really understand our unique problems and solutions.

      I'd love to learn more about graphs and how they can reshape data, code and IDE. However, in the current climate, all of such work has to be done in my free time. Maybe I should go back to academia? Stuff like Java and relational DBs are holding back progress, but it seems companies are not part of the solution for progress.

    3. Re:ultimately the misperception is by businesses by Anonymous Coward · · Score: 0

      Well, the software market is demand-driven. Companies hire who they can get with appropriately-sounding credentials. Most of these people are complete and utter shit and programming and violate DRY at least 5 times an hour, but if that's all the market gives you, and if your company has no capabilities of distinguishing good from bad developers, that's who you'll get. (Btw: why then not let a lead developer hire the other devs. Oh, he's probably shit too.)

  9. 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.

  10. Microsoft and Borland by Anonymous Coward · · Score: 0

    The trend was started by Microsoft and Borland in the 80s. Apple bucked the trend by staying w/ C, then C with objects, and now Swift. Java, while a really nice thing to drink, was just an easy version of C++, or an easier version. Visual Basic was popular for years, because it was easy/easier. Microsoft's tools like Visual Studio, are difficult for someone like me that comes from a much easier and productive database environment. COBOL and FORTRAN were early attempt at the language making programming much easier. I was in the business for years, and drawing a screen and creating a database was a snap, compared to what the rest of the world was doing. Then, it gave me a niche to work in.

    1. 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
    2. Re:Microsoft and Borland by Anonymous Coward · · Score: 0

      Here I'll share since I'm a fellow vim hacker.

      First runs "make" when you press F8
      Second runs "make clean all" when you press F9
      Third checks for a makefile in the current directory and executes whatever the target executable name is. (Basically running the program)

      map :make
      map :make clean all
      map :!./`cat makefile egrep "^TARGET" cut -d"=" -f2 sed -e 's/^[ \t]*//'`

      (Slashdot butchered the full copy with the bindings, above is the preview)
      http://pastebin.com/njed1ZkA

  11. 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 Anonymous Coward · · Score: 0

      One thing I really like about emacs is the ability to have multiple windows open on the same file. I do not know what other editors offer that as I have been using emacs since the DEC-10 days. I have been forced to use different editors over the years and some different IDEs too. All I remember about them is that when I am unable to do this, I really feel handicapped.

      I do not mind people using their favorite IDE. Don't even mind if I am required to "use" one at work. I will just do my work within emacs and then import the files into the IDE.

      What does bother me are the people who are clueless about what happens when they hit the "build" key. I had one individual who insisted that the compiler was "remembering" the ".h" files from previous compile compile cycles, that somehow constants set for one compile were remembered for a different compile on totally different files. He had no idea what was happening "under the hood".

      So it does not matter what IDE you are working with, as long as you are ale to - at least in theory - able to get by with an editor, compiler and linker to create your program. Not that you will do it, but that in theory you would be able to if required.

    6. 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!
    7. Re:c/c++, vi/emacs, make, ddd by Anonymous Coward · · Score: 0

      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.

      On the more recent versions, you just click and drag the tab out of the window. Not hard...

    8. 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.

  12. 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 Anonymous Coward · · Score: 0

      the full connection information is at the bottom of the window in the status bar, and changes to match the current window's connection info:

      server\instance (version) | user (spid) | Current db name | last query time | last query @@rowcount

      Or (SSMS 2012), drag the window so it's not docked on the SSMS container, and the window's tab will expand out...

      What I with the SSMS Object Explorer would do is let you also filter the list of Databases like you can for Tables, etc., as well as allow for regular expressions. It's querying SMO, coded in .Net, right?

      Not quite as stupid as Excel using multiple documents...

    2. 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.

    3. 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.
    4. 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?
    5. 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.

    6. Re:I'm bitching about SQL Server Management Studio by Anonymous Coward · · Score: 0

      Obviously you don't have to use Eclipse. Or God forbid, WebSphere.

    7. Re:I'm bitching about SQL Server Management Studio by Anonymous Coward · · Score: 0

      Have a look at DbVisualizer http://www.dbvis.com: multi-platform, supports many DB types, loads of features.
      Not affiliated in any way, just a very happy customer.

    8. Re:I'm bitching about SQL Server Management Studio by Anonymous Coward · · Score: 0

      The SQL UI problem is an extension of the SQL language problem: attempting to solve all problems with one big hammer.

    9. 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
    10. 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
  13. 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.

    7. Re:Here is how to get in to coding: by Anonymous Coward · · Score: 0

      I learnt typing fast with chat rooms (geocities ones, before the buyout from yahoo), and by playing Diablo 2 (HC mode) and Everquest. You had to type fast if you didn't want to die while typing..

  14. 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 ;)

  15. "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 Anonymous Coward · · Score: 0

      I agree at the annoyance of having an endless stream of half baked tools that are never upgraded.
      He is complaining that people are adding new tools and un-needed features and this impedes him in the joy of building his new tools and features.
      He seems to assume his work is necessary and not a blight on someone' happiness.

    2. Re:"Featuritis" in the whole computing ecosystem by Anonymous Coward · · Score: 0

      I'm learning how to program Swift!

      Neener, neener, neener!

    3. 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.
    4. 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.
  16. Much worse than you think. by Anonymous Coward · · Score: 0

    Ah, the trending tech phenomenon. Here's the harsh truth. Not only are most of the new tools just rehash of existing implementations coming to you at the cost of days learning and months of perfecting new languages, APIs and paradigms, but depending on your industry you may have an uphill battle convincing those in power that it's not worth the effort. Developers are tribe followers. We gravitate to passion and other developers who rise up with (in reality) mundane solutions that have been nicely packaged with pretty websites and a GitHub endpoint (all of this done to champion and advance the career of the originator in most cases who dreams of one day taking the podium at his own OSCON session) We need a cause.get behind and perhaps most importantly we need to feel as if the tools and patterns we use are always moving us forward so that we can feel of value and sell our value to the Fortune 500 companies and start ups that can afford the latest trending tech. We need to be able to convince people what we offer is giving them some strategic advantage. Almost always it is not. In most cases it adds more risk and cost to projects.But this isn't going away. If anything it's getting worse. As developers, sure we all genuinely want new tools to enable us to do the job faster but qualifying the good from the bad can be difficult and can honestly make you begin to hate doing this sort of work professionally in teams.

  17. 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
  18. 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?

  19. Change for the sake of change by Anonymous Coward · · Score: 0

    The trend I've noticed is that innovation has almost stopped, and has been replaced by change for the sake of change. Instead of innovating, people seem to be breaking things just to release new versions. Did Firefox really need to move View/Source? Did the atrocities of Gnome 3, Firefox 29, Windows 8, etc really need to happen? Was anything improved? Firefox breaks so badly that people write extensions to put it back the way it was - isn't that a clue that churn is getting too much?

    The last few years have been filled with churn, but with no real progress. The number of programming languages is getting silly. (And they're starting to die as soon as they're announced, which is good. Seen any articles on Dart lately?) The way frameworks and libraries break themselves with each release is silly. The churn among frameworks is also getting to be ridiculous. How many MVC frameworks does Java really need? Ant is awesome, it works and can do everything, but there is a maniacal drive to throw it out and replace it. The much lesser Maven is taking over, and Google want to destroy the Android build process by inventing some lesser tool.

    The point is that as an industry, we're reinventing the wheel every few years. That means endlessly trying to keep up with learning the same thing over and over again. Doing that is a silly waste of time, especially since there is a "shortage" of skilled workers. If there is a "shortage" the expedient thing to do is get back to industry standards so skills are portable. Why does every company have its own silo of technologies?

    And as an industry, there is a "skills shortage" because if you don't know the MVC flavor of the month or whatever, you don't have the skills to do the job, even though picking up the skills is trivial because it's all the same stuff in a slightly different form. All anyone looks at is buzzwords on a resume, though, and we have to get beyond that to seeing what skills people have in software design, construction, and implementation.

    All I'm saying is that no one can think of anything new to do, so they just churn out change for the sake of change just to have new releases. When it comes to tools and languages, the industry needs to get back to standards so that skills are portable.

    1. 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/...

    2. 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
  20. Not again... by Anonymous Coward · · Score: 0

    Look ma! It's the latest entry in the Ask Slashdot bi-monthly series "What's the best way of getting back to coding"!

  21. 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.

  22. 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.
  23. 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.
  24. 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.

  25. 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.

  26. 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 Anonymous Coward · · Score: 0

      What about working on other's people code?
      Does your meta-compiler also decompile?

      I think we hit this problem when we had the graphical OO modelling environments (Rose?).
      You could build code from them. Any change would brake the modelling machine.

      Same with some Linux configuration metatools.
      Change a line in inetd.conf and you kill the super-duper tool.

      Now what?

    4. 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.
    5. 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."
    6. 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."
    7. Re:Welcome to the Next Level. by Anonymous Coward · · Score: 0

      >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.

      Oh god I just threw up a little in my mouth. Please tell us who you are so that we can blacklist you.

    8. Re:Welcome to the Next Level. by Anonymous Coward · · Score: 0

      Reusable patterns....

      (yawn)

  27. 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.
  28. 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?

  29. 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

  30. 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.

  31. 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+
  32. 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
  33. Learning to type in high school by Anonymous Coward · · Score: 0

    For me my fast typing came from taking typing in high school 35 years ago. Hell, I don't know if schools even teach typing anymore.

  34. 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.

  35. 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.

  36. Tools are tools by Anonymous Coward · · Score: 0

    Stop complaining about tools. It is an excuse for not writing code. A tool is only as good as the builder using the tool.

  37. fads by Anonymous Coward · · Score: 0

    Here in Austin I see a lot of fads and tools. When you dare to suggest that it's really all about keeping it simple, or doing more with fewer lines of code, they look at you like you're crazy. They manage to cough out a program that passes unit tests after God knows how long and call themselves programmers.

  38. Re:for( mostly=0; mostly lengthOfVec; mostly++) by Anonymous Coward · · Score: 0

    why are you so sure everyone codes like you do?

    Does your "Better idea" allow me to loop backwards/forwards arbitrarily while even allowing side-effects of the evaluation with multiple inputs/outputs/stepping/etc?

    Seriously how is that worse than something crippled that can't do everything imaginable?

  39. 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..
  40. What's nicer is what it evolved into (Delphi) by Anonymous Coward · · Score: 0

    Turbo Pascal 4.5 - 6: I too loved it, & considered it a sort of "cross" between VB & C++ (instead of curly braces, it had "begin" & "end" statements, & each line ended in ; like C/C++) & I skipped Pascal for Windows, since by 1995 the "VB Killer" Delphi 1.0 16-bit came out (runtimes weren't necessary like VB, & thus, faster performing code - amazingly so, which I'll lead into next (even the use of Inline Assembler via the asm directive which I loved for certain areas, like looping performance gains (often double++ in fact), ala my post here to user "Perpenso" & the research backing that -> http://apple.slashdot.org/comm...

    Delphi can do *almost* anything C++ can do & is OOP as well (except it lacks the multiple inheritance ability, & opted instead for the more, imo @ least, practically useable SINGLE inheritance model, & can even do drivers (with toolkits)).

    Better yet? Check this out (what I was leading to here from above, on performance):

    Back in 1997, in a competing trade rag that was widely read "Visual Basic Programmer's Journal" Sept/Oct. issue, Delphi (though downplayed to only 1 LINE to *try* to "hide it" but the graphs told the tale/truth) swept the floor with both VB & even MSVC++!

    Delphi beat the hell out of MSVC++ in 4 of 6 tests performed in "Visual Basic Programmer's Journal" issue October 1997 entitled 'Inside the VB 5 Compiler Engine'...

    ESPECIALLY IN MATH & STRINGS WORK - Which EVERY program, does, & here by HUGE margins.

    Delphi lost 1 test of 6 to VB5 (ActiveX Form Loads) which even beat them both here (MSVC++ & Delphi) because it's MASSIVELY optimized for that. 5 of 6 to Delphi here vs. VB (with its 'watered down' C++ compiler engine that doesn't optimize loops e.g. vs. the 'real deal', MSVC++ from Microsoft).

    Delphi lost 2 tests of 6 to MSVC++ in Graphics Methods. By a PUNY margin, of like .020 of a second here, & in TextBox Form Loads by another PUNY margin of .057 seconds. 4 of 6 to Delphi here.

    The others were purely & largely won by Borland Delphi. By FAR larger margins than those, like 3x that in Strings vs. MSVC++ (300% faster), & 2x that in Math vs. MSVC++ (200% faster).

    Where it won, it did so by HUGE margins/orders of magnitude, in programs created for like purposes with all 3 languages & fully compiler optimized.

    VERY IMPORTANT THING TO NOTE? This test??

    Was done in a COMPETING LANGUAGE'S publication no less - oh, they tried to "downplay" it of course, mentioning only 1 line about it in a 4 page article, but the charts?

    Couldn't fool 'em... 10 tests were these:

    1.) String Processing Suite
    2.) Math Suite
    3.) DataBase Suite
    4.) TextBox Form Load
    5.) Graphics Methods (rotating bitmap)
    6.) ActiveX Form loads

    APK

    P.S.=> It's the reason I stuck by it since version 1.0 (Delphi) & loved Turbo Pascal 4.5 - 7.0 Object Pascal in 16-bit, then Delphi for Win16 -> Win32 -> Win64, & wrote this latest creation of mine in it for BOTH 32 &/or 64-bit code (It gives users more speed, security, reliability, & even anonymity online, AND, even shores up DNS redirect security issues ala the Kaminsky flaw, which 99.999% of ISP DNS servers are NOT patched for a decade++ later even when a patch has been out that long - it also does all that, & more, MORE efficiently than the "so-called 'competition'" in clearly INFERIOR browser addons by far, doing more from a single output file result than any single one there is, bar none -> http://start64.com/index.php?o...

    ... apkcid=47479729

    Delphi can do *almost* anything C++ can do

  41. Apple initially used a LOT of Pascal... apk by Anonymous Coward · · Score: 0

    Check on it yourself, ala -> http://en.wikipedia.org/wiki/A...

    APK

    P.S. => Did a LOT of VB to database work circa 1994-2006, however, I also did a LOT in Delphi (Object Pascal 7.x engines in 16/32/64-bit currently on the latter) in that timeframe professionally as well (with some C++ work in the mix too) -> http://developers.slashdot.org...

    ... apk

  42. "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).

  43. xkcd by mrflash818 · · Score: 1

    : )

    --
    Uh, Linux geek since 1999.