×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Interview With Brian Kernighan of AWK/AMPL Fame

kdawson posted more than 4 years ago | from the series-of-pipes dept.

Programming 117

Reader oranghutan brings us another in Computerworld's series of interviews with icons of the programming world, this one with Brian Kernighan, who helped popularize C with his book (co-written with the creator Dennis Ritchie) The C Programming Language, and contributed to the development of AWK and AMPL. In the past we've chewed over a few other interviews in this series, including those with Martin Odersky on Scala and Larry Wall on perl. "In this interview, Brian Kernighan shares his tips for up-and-coming programmers and his thoughts on Ruby, Perl, and Java. He also discusses whether the classic book The Practice of Programming, co-written with Rob Pike, needs an update. He highlights Bill and Melinda Gates as two people doing great things for the world enabled through computer science. Some quotes: 'A typical programmer today spends a lot of time just trying to figure out what methods to call from some giant package and probably needs some kind of IDE like Eclipse or XCode to fill in the gaps. There are more languages in regular use and programs are often distributed combinations of multiple languages. All of these facts complicate life, though it's possible to build quite amazing systems quickly when everything goes right.' 'Every language teaches you something, so learning a language is never wasted, especially if it's different in more than just syntactic trivia.'"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

117 comments

The Practice of Programming (5, Interesting)

BadAnalogyGuy (945258) | more than 4 years ago | (#29668387)

There are a few books I recommend to kids just starting out in the industry.

Code Complete
Writing Solid Code
Programming Pearls
and The Practice of Programming

Even old stalwarts like Kernighan's The C Programming Language aren't as useful in the longterm as the 4 books above are.

Anyone who wants to make the jump from "code monkey" to professional should really take the time to read the books.

Re:The Practice of Programming (5, Interesting)

morgan_greywolf (835522) | more than 4 years ago | (#29668451)

Right. The four books you mentioned aren't books for teaching you about a programming language or a particular technique, unlike K&R, which focuses just on C. They are designed to teach how to think like a programmer and how write code like professional software developer. They are more about the fundamental nature of coding; they're not as much about trying to teach you the basics as they are about trying to teach you what you really need to know to successfully take a programming project through the development cycle as a coder.

Re:The Practice of Programming (2, Insightful)

yankpop (931224) | more than 4 years ago | (#29669523)

unlike K&R, which focuses just on C

If you just skim through K&R, then yes, I can see why you'd think it was 'just on C'. But if you actually sit down and work through the problems, you'll find a lot more depth. Of course, it's all C code, but some of those exercises are deceptively challenging, and they really helped me to move beyond the mechanics of the language and start thinking about coding in a more sophisticated way.

The other books mentioned provide important insights into different aspects of programming, but to describe K&R as just a reference book for a single language is a serious understatement. Maybe the thought processes involved in solving those problems are second-nature to experienced programmers, but it was a real mind-opening experience for me, something I've not experienced with other "language references".

yp.

Re:The Practice of Programming (1)

morgan_greywolf (835522) | more than 4 years ago | (#29671301)

If you just skim through K&R, then yes, I can see why you'd think it was 'just on C'. But if you actually sit down and work through the problems, you'll find a lot more depth. Of course, it's all C code, but some of those exercises are deceptively challenging, and they really helped me to move beyond the mechanics of the language and start thinking about coding in a more sophisticated way.

I not only read K&R, it was the book that taught me to code in C.

Getting beyond the mechanics of a programming language and learning to code in a more sophisticated way doesn't just happen by reading a book, it's something brought on by experience both in coding and in studying other people's work. That's one of the things I love most about open source -- you have the opportunity study the work of the source community's finest coders, from Linus Torvalds to RMS to Andrew Tridgell.

Re:The Practice of Programming (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#29669747)

SIG: "When will Glenn Beck prove that he didn't do it?"

lol morgan_greywolf, your name reminds me of the name of a valiant neo-pagan I admire. Prove to me, now, that you aren't her!

Re:The Practice of Programming (3, Informative)

Nazlfrag (1035012) | more than 4 years ago | (#29668599)

Thats because you're comparing training manuals to technical manuals. K&C is still useful to this day as a standard reference that still works all these years past. The only thing similar is Knuths works, one of the few compsci works created that serves as both a training and technical reference. (kids - read Shannon thouroughly as well, starting with "A Mathematical Theory of Communication")

Re:The Practice of Programming (2, Informative)

Bromskloss (750445) | more than 4 years ago | (#29669365)

kids - read Shannon thouroughly as well, starting with "A Mathematical Theory of Communication"

Interesting, for sure, but what does it have to do with programming?

Link, by the way: A Mathematical Theory of Communication [bell-labs.com]

Re:The Practice of Programming (0)

Anonymous Coward | more than 4 years ago | (#29669707)

Interesting, for sure, but what does it have to do with programming?

Yeah, nobody is using computers for communication.

Re:The Practice of Programming (2, Informative)

Nazlfrag (1035012) | more than 4 years ago | (#29671713)

What does information theory have to do with information science you ask? More than a little is my answer.

Re:The Practice of Programming (2, Informative)

ComputerPhreak (1057874) | more than 4 years ago | (#29668759)

I think you're missing the point of "The C Programming Language." It wasn't (isn't) a book about programming, it basically set the standard for the C programming language at the time. It's a reference manual, not a guide on how to write code.

Re:The Practice of Programming (0)

Anonymous Coward | more than 4 years ago | (#29669935)

I got no problem with the other titles, but Writing Solid Code is crap. Not even because of "lol, microsoft" but because it's actually crap. [accu.org]

"Need" an IDE (2, Insightful)

betterunixthanunix (980855) | more than 4 years ago | (#29668431)

If a programmer needs to use an IDE, as opposed to just using one for convenience, something is very wrong.

Re:"Need" an IDE (1)

lannocc (568669) | more than 4 years ago | (#29668477)

If a programmer needs to use an IDE, as opposed to just using one for convenience, something is very wrong.

Perhaps, but don't draw such a hard line. Time constraints can easily push a "convenience" to the "need" category. Sure we can get everything done in the simplest text editor but an IDE is a big help for things like looking up unfamiliar method signatures.

Re:"Need" an IDE (3, Insightful)

OzPeter (195038) | more than 4 years ago | (#29668491)

If a programmer needs to use an IDE, as opposed to just using one for convenience, something is very wrong.

Once you cover the basic needs of food and shelter, everything after that becomes a convenience

Re:"Need" an IDE (2, Insightful)

drbinofski (1650115) | more than 4 years ago | (#29668515)

If a programmer needs to use an IDE, as opposed to just using one for convenience, something is very wrong.

Once you cover the basic needs of food and shelter, everything after that becomes a convenience

So this would be the application of Maslow's Hierachy of Needs to programming!?

Re:"Need" an IDE (1)

khellendros1984 (792761) | more than 4 years ago | (#29676023)

Yup. Oz is say the computer needs power and storage (or maybe a case? Dunno). It'll hum along perfectly happy without having an OS. It won't be very useful, of course, but....

Re:"Need" an IDE (4, Insightful)

characterZer0 (138196) | more than 4 years ago | (#29668531)

I need an IDE to do my job. I could lay out graphical forms by hand, but it would take long enough as to not be profitable.

Re:"Need" an IDE (1)

mario_grgic (515333) | more than 4 years ago | (#29676703)

That's highly dependent on the language you program in. I find laying out Java GUI is best done by writing layout code manually, in either VIM or some IDE. As a matter of fact, in many instances (other than dialogs) you can not lay out GUI with a form editor, at least not when majority of your GUI components are heavily customized deep class hierarchies that subclass standard components.

But I do agree with the general sentiment that it's much much easier to explore and learn code hierarchies with a good IDE (Eclipse for Java excels in this task).

You should however be able to write code manually in plain text editor, esp. if the code is something that does not rely on huge third party libraries that may take years to learn.

Time to get some popcorn... (1, Insightful)

Anonymous Coward | more than 4 years ago | (#29668553)

If you're writing unmaintainable code that never gets refactored, with single letter variable names and endless ugly hacks to fix endless bugs, many due to earlier design descisions that can't be fixed because you can't easily refactor, then yes, you're probably correct.

But I'm a good developer, none of those things apply to my code, and I find development in a full featured IDE infinitely more productive.

Re:"Need" an IDE (1, Funny)

Anonymous Coward | more than 4 years ago | (#29668611)

Ahaha, yeah, keep telling yourself that when you "program" your shell scripts.

Re:"Need" an IDE (4, Interesting)

mauddib~ (126018) | more than 4 years ago | (#29668613)

In my very humble opinion, tools such as Emacs and vi are precursors to larger development environments, such as Eclipse or Delphi. In your case, and assuming my argument is true, we would all be going back to flipping switches and pressing buttons, since that's the only true way of understanding the code.

If you don't accept my argument, then why are syntax highlighting, :make macros and identifier matching part of every vi install nowadays? And don't even get me started about emacs, which design purposes was to help programmers write better code. So, if you don't accept my premise, where do you draw the line?

For me, this development can't go fast enough. I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

Re:"Need" an IDE (5, Insightful)

Anonymous Coward | more than 4 years ago | (#29668913)

I think you draw the line when a language "requires" an IDE so bloated that it runs slow on a Core 2 Duo machine, and makes you want to code in Notepad instead, except you can't because the language is too convoluted.

Re:"Need" an IDE (3, Insightful)

Abcd1234 (188840) | more than 4 years ago | (#29670489)

I think you draw the line when a language "requires" an IDE so bloated that it runs slow on a Core 2 Duo machine, and makes you want to code in Notepad instead, except you can't because the language is too convoluted.

1) Uh, since when did the nature of a language dictate how fast/slow an IDE implementation is?
2) Why, dear god, would a slow IDE be evidence that a language sucks?
3) What language are you using that is "too convoluted" to use outside of an IDE? Because I've used quite a few, and I've yet to come across *any* language that "requires" an IDE.

Re:"Need" an IDE (2, Funny)

Anonymous Coward | more than 4 years ago | (#29674319)

3) What language are you using that is "too convoluted" to use outside of an IDE? Because I've used quite a few, and I've yet to come across *any* language that "requires" an IDE.

INTERCAL

Re:"Need" an IDE (1, Interesting)

Anonymous Coward | more than 4 years ago | (#29669141)

Look at Color forth. It is mostly ASCII but each word has a color associated with it which isn't ASCII.

http://www.colorforth.com/cf.html

Labview (2, Insightful)

AliasMarlowe (1042386) | more than 4 years ago | (#29669393)

I'm looking forward to languages that integrate completely with an IDE

Try Labview. And weep.

and leave simple character representation (ASCII e.a.) behind.

That's Labview - no plaintext representation at all. You'll be begging for one soon enough, with or without an IDE, unless your programs are at the "hello world" level of complexity. Some of the reasons are specific to Labview's failings. For instance, version management and project organization exist only as pathetic useless pretences, which obstruct rather than assist. Other reasons are intrinsic to the non-character representation. Try doing a diff between two Labview files, or even try getting a rough estimate of the amount of difference between them; sorry, no can do.

There may be a non-character-based program representation (useful for developing and maintaining non-trivial projects) in the future, but I fear we'll all be retired or expired by then.

Re:Labview (2, Insightful)

Doctor_Jest (688315) | more than 4 years ago | (#29670329)

Having used LabVIEW for about 15 years now, I can safely say that it ain't all that bad. The diagrams are intuitive, and for what it does, it does well. Doing a Diff is as simple as using the "compare" tool in LV itself. (It even circles the differences for you...) It doesn't replace python for my text manipulation and other quick turnaround code, and LV CERTAINLY doesn't replace C for the good stuff. (I prefer Vi, but I can use emacs just as well..) It pays not to be pigeon-holed. :)

Is it perfect? Far from it. :) It's got its quirks (what language doesn't?) But for rapid complex data analysis, I've not found much that'll beat it on speed (you could always spend the day writing Matlab, I suppose...)

Version management requires a separate tool (we use Clearcase here), and if you're having trouble reading code diagrams, perhaps you need more instruction on how LabVIEW works. I have no trouble reading other people's VIs, understanding the inputs and outputs, and the logic flow. The data-flow paradigm is easy to dismiss as junk, but once you get a handle on it.. it is as intuitive as breathing when you're writing a VI to control a device (or 10). :) it just sounds like you don't like LabVIEW because it's graphical (I had the same prejudice when I started using it), but taking the time to master it means you can write just about anything with it... and that's the mark of a good language.

Re:Labview (5, Interesting)

shutdown -p now (807394) | more than 4 years ago | (#29671507)

There may be a non-character-based program representation (useful for developing and maintaining non-trivial projects) in the future, but I fear we'll all be retired or expired by then

This has been tried numerous times. It just doesn't work, period.

More recently, I recall reading an interesting interview with Microsoft "project Oslo" guys. Oslo is supposed to be a DSL framework for .NET. Now, existing releases already have something called "DSL SDK", integrated into VS, but the "DSLs" that it lets you create are purely graphical, like flowcharts, and have to be "coded" using a visual designer.

That didn't exactly catch on, and Oslo guys explained that one of the most repeated customer feedbacks was that, while visual designers are occasionally useful, in the end it's still faster and easier to spend half an hour training, and then write DSL code as actual text in a text editor. Note: not for a programmer, but for a business analyst, or some other guy who haven't ever seen any code before!

So they ditched the visual designer idea in Oslo, and instead came up with the tried and proven approach of parser generators (going for LL(*) over LALR as it's simpler to use and less restrictive, even if slower), and coupled it with a text editor that can load a grammar for the parser generator, and automatically provide syntax highlighting and simple completion for it.

Re:"Need" an IDE (2, Insightful)

Angst Badger (8636) | more than 4 years ago | (#29669531)

While I'm not sure what the low-level representation of the code has to do with anything -- that's a detail that ideally ought to be hidden by the IDE anyway -- I couldn't agree more. There's nothing wrong with better tools, and there are tasks that are flat-out impossible without better tools. Is there something "very wrong" if a traveler can't get from NY to LA in a single day without using an airplane? Of course not.

I've been programming since the punch card era, and I used to think that the greatest menace to our profession was the new kid who hadn't learned his history. Thirty years and a lot of new ideas later, I still think ignorant newbies are a problem, but I've come to recognize an equal menace in ignorant oldbies who found something they liked and then stopped learning. Machismo and arrogance are just as harmful in software engineering as they are in every other area. Brian Kernighan is still picking up new languages and tools and doing so with an inquisitiveness, humility, and grace that one rarely sees in much less talented developers. Let's hope it catches on.

Re:"Need" an IDE (0)

Anonymous Coward | more than 4 years ago | (#29669613)

I've worked with such a system, called xtUML (eXecutable, Translatable UML) in a Beta phase. It had a lot of promise for large scale system development in the areas of understandability and overall design cohesion, but the problem I ran into was that it was very difficult to integrate with existing software infrastructure. They may have made improvements to it since I was working with it (~5 years ago), but even if so, my overall evaluation of the approach was that "it may provide benefits when used consistently on very large projects". My loose estimation of size for a "very large project" for this scenario is around 100 Kloc.

To put it another way, there was a great deal of "friction" whenever a xtUML component had to talk to a non-xtUML component. Not in terms of performance, but in terms of programmer effort and maintainability of the resulting code, which are areas that xtUML were concentrating on in the first place. If a high-quality set of library interfaces were to be produced for the system (this has to happen on each platform you would want to use xtUML on of course), or if some method of easily generating interfaces were developped, I could see xtUML being a very strong language.

That's just the technical side of things of course, on the political side of things I don't think the owner of the system (Mentor Graphics) has any interest in promoting it as a general-purpose programming language, I think they are trying to position it as a tool for use with their RTOS product.

Re:"Need" an IDE (1)

sidnelson13 (1309391) | more than 4 years ago | (#29669763)

I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

I think the closest we might get to that would be Visual Programming Languages [wikipedia.org] , but most of them seem to apply only to niches like 3D modeling, animations, teaching, analysis.
It seems pretty hard to be able to create an "all purpose", like C, Visual Programming Language. Sure, we can always dream.

"Need" != "Helpful tool" (3, Interesting)

betterunixthanunix (980855) | more than 4 years ago | (#29669823)

I personally use Emacs, with syntax highlighting and various other modes, because it is helpful and speeds up the process of writing code. There have been times, however, where I have not been able to use Emacs for some reason (e.g. I had to write some code on a system that did not have it installed). Once I was reduced to using a line editor to write some code (yes, in the 21st century), and while I hope to never experience such a situation again, I was able to deal with it and get the work done.

All too often I see programmers who are completely helpless when they cannot use their favorite IDE, which is the problem I was alluding to. An IDE is a great tool that can save a lot of time, but when it gets to the point where people cannot figure out how to run a Java program without starting up Eclipse, something very bad is going on.

Re:"Need" an IDE (4, Insightful)

Just Some Guy (3352) | more than 4 years ago | (#29669983)

I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

Oh, me too! I can't wait until diff and patch no longer work, and every version control system has to explicitly support every distinct language, and examples on Stack Overflow are files you have to download and open in an IDE before you can examine them, and Google has to learn each language's binary serialization so that it can search code snippets.

In a time when every other type of file is moving to standardized formats, I just love the idea of my industry balkanizing into a million crap representations. That is certain to make us all more productive.

Re:"Need" an IDE (2, Interesting)

not-my-real-name (193518) | more than 4 years ago | (#29670027)

Try looking into "literate programming". There is a character representation at the lowest level, but the output is all nicely formatted and typeset.

I played around with Haskell a bit. It has a built-in feature where you can integrate it with LaTeX and produce some really nice program listings complete with typeset documentation.

Re:"Need" an IDE (1)

DragonWriter (970822) | more than 4 years ago | (#29670987)

I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

There are plenty of existing programming environments where the programmer doesn't interact with code as a linear string of text; including in systems that use executable diagrams (often things like BPMN), and, by far the most common example, spreadsheets.

Re:"Need" an IDE (4, Insightful)

rsborg (111459) | more than 4 years ago | (#29671349)

For me, this development can't go fast enough. I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

That platform arrived in the 70's and it was called Smalltalk. All current mouse-based GUI systems are an offshoot of the original Smalltalk system. Wiki link [wikipedia.org] . In reference to your dream-system, things like this were pretty potent and ahead of their time:

Smalltalk is a structurally reflective system whose structure is defined by Smalltalk-80 objects. The classes and methods that define the system are themselves objects and fully part of the system that they help define.

This would obviously allow you to edit your IDE/OS in real-time/at runtime.

Re:"Need" an IDE (5, Informative)

spitzak (4019) | more than 4 years ago | (#29671521)

I'm looking forward to languages that ... leave simple character representation (ASCII e.a.) behind.

I worked on such a thing in 1983 at DEC (look up my MIT thesis to see). Structural editing.

Conclusion: it was an absolute disaster. Programmers cannot use this. Most of the work was in altering it to be as much like a plain text editor as possible.

Don't think you have an amazing new idea.

Re:"Need" an IDE (1)

GlassHeart (579618) | more than 4 years ago | (#29674875)

Actually, I wouldn't mind the following features:

  • drag a picture (perhaps a state transition diagram) into the source code as a comment
  • select a color or font in source code using the system's picker, instead of typing RGB values or font names.
  • drag an image (perhaps an icon or background image) right into the source code, and not have to fiddle with managing "resources".

Basically, at least for UI-level programming, there are lots of ways to make the source code more visually descriptive than plain text.

Re:"Need" an IDE (1)

spitzak (4019) | more than 4 years ago | (#29676053)

An IDE can do a lot of useful things like this, but I feel that the underlying data structure has to be a stream of bytes and that it must be allowed to at least temporarily contain invalid text sequences.

Re:"Need" an IDE (1)

jgrahn (181062) | more than 4 years ago | (#29671657)

In my very humble opinion, tools such as Emacs and vi are precursors to larger development environments, such as Eclipse or Delphi. In your case, and assuming my argument is true, we would all be going back to flipping switches and pressing buttons, since that's the only true way of understanding the code.

If you don't accept my argument, then why are syntax highlighting, :make macros and identifier matching part of every vi install nowadays? And don't even get me started about emacs, which design purposes was to help programmers write better code. So, if you don't accept my premise, where do you draw the line?

I draw the line when the editor/IDE forces your coworkers to use the same IDE. Vi/Emacs users can work on the same code without problems, but once IDE-specific build systems, "project files" and whatnot start replacing the Makefiles, you're screwed.

Re:"Need" an IDE (3, Insightful)

skrolle2 (844387) | more than 4 years ago | (#29668857)

Bullshit, you only make this argument based on your comfort zones and your levels of trust.

When you write code in a language that is not machine code you require some sort of text editor, you require some sort of file system for organizing your text files, and you require a compiler and a linker for making executables out of your human-readable code.You need to trust that all your tools actually do what they're supposed to do, and you need to be comfortable in that environment.

An IDE is simply one more tool in the chain that might organize your files differently, that might automatically invoke your compiler, and that might automatically highlight and analyze your code for your benefit. It's still just tools in the chain, and you still need to trust them. An IDE does not bring anything fundamentally different.

You only make your argument that an IDE is unnecessary because you are comfortable not using one, and because you probably don't trust them. And from that you argue that "real programmers" shouldn't use an IDE, because you don't, and you consider yourself a "real programmer".

However, I might as well make the argument that "real programmers" don't need text editors or compilers or linkers. How can you trust your compiler, hm? No way, a programmer should be able to enter machine code directly, and that text editor and compiler should only be for convenience, not necessity. And get off my lawn!

But that argument is of course stupid, text editors and compilers and higher level languages add to the productivity of the programmer, in the same way that IDEs add to the productivity of the programmer. Not using the best tools available is just stupid masochism.

Then again, in 10 or 20 years there will be something on top of IDEs that make them look as primitive as a simple text editor does to Eclipse, and I'll probably be whining about the young folks and their newfangled thingies, and I won't trust them, because my comfort level is in an IDE as we know them today. Hopefully, I'll not be as old and stuck in my ways as you are though.

Re:"Need" an IDE (1)

Rogerborg (306625) | more than 4 years ago | (#29668943)

If you "need" to use an IDE, then you're limited to working in environments where one is available. That's just dandy until your Intarwebs2.0 company goes down the intartubes and the only job going is debugging C server code on a Solaris box without a GUI let alone an IDE.

Re:"Need" an IDE (2, Insightful)

skrolle2 (844387) | more than 4 years ago | (#29670605)

If you "need" to use a compiler, then you're limited to working in environments where one is available!

An IDE is a tool just like a compiler is a tool. There really is no difference, other than the fact that some people don't like IDE's.

I don't need a compiler to write my code, but it would be extremely time-consuming to do my work without one, so in practice I need one to be able to reach a meaningful level of productivity. In the same way I don't need an IDE write my code, but it would be extremely time-consuming to do my work without one, so in practice I need an IDE to reach a meaningful level of productivity.

But what the GP was saying is that I'm somehow less of a programmer because I can't do my job without an IDE, but if that's the case, I'd rather have a job and produce code in my IDE, than be a "real programmer" without a job.

Re:"Need" an IDE (0, Flamebait)

Rogerborg (306625) | more than 4 years ago | (#29670869)

If you don't "need" an IDE, then you're not the subject of this thread and are just picking a fight. Small fellow, are you?

Re:"Need" an IDE (1)

marnues (906739) | more than 4 years ago | (#29673291)

I'm fairly certain that the GP was stating that the ability to write code with a simple text editor is pure novelty, much like writing machine code without a compiler.

Re:"Need" an IDE (0)

Anonymous Coward | more than 4 years ago | (#29674087)

The point he is making is flying over your head and it certainly makes me question your qualifications to make the statements you are making.

Re:"Need" an IDE (2, Insightful)

DuckDodgers (541817) | more than 4 years ago | (#29672075)

Most employers these days seem to favor specific experience over general skills. The chances that someone working on funky Javascript websites for a few years will find their next job writing server side C code is damned small.

I made the move from C++ to Java four years ago. I'd like to move back, or at least out of Java, simply for some variety. But I have a family to support, and the potential employers I've talked to that don't use Java would only be willing to bring me in at about half my current salary. I'm looking to contribute to an open source project that uses some language other than Java, both for fun and to boost my resume. Until then, I'm stuck with the kind of work I do today indefinitely.

Re:"Need" an IDE (3, Insightful)

Anonymous Coward | more than 4 years ago | (#29669161)

Bullshit, you only make this argument based on your comfort zones and your levels of trust.

Profanity, straw-man, pseudo-psychology.

When you write code in a language that is not machine code you require some sort of text editor, you require some sort of file system for organizing your text files, and you require a compiler and a linker for making executables out of your human-readable code.You need to trust that all your tools actually do what they're supposed to do, and you need to be comfortable in that environment.

Appeal to the obvious.

An IDE does not bring anything fundamentally different.

Opinion presented as fact.

You only make your argument that an IDE is unnecessary because you are comfortable not using one,

Straw man.

and because you probably don't trust them.

Straw man.

And from that you argue that "real programmers" shouldn't use an IDE, because you don't, and you consider yourself a "real programmer".

Changing the content of parent comment.

However, I might as well make the argument that "real programmers" don't need text editors or compilers or linkers. How can you trust your compiler, hm? No way, a programmer should be able to enter machine code directly, and that text editor and compiler should only be for convenience, not necessity.

Extending parent's position to absurdity.

And get off my lawn!

Ad hominem.

But that argument is of course stupid, text editors and compilers and higher level languages add to the productivity of the programmer, in the same way that IDEs add to the productivity of the programmer. Not using the best tools available is just stupid masochism.

Ridiculous comparison between programming languages and GUI widgets.

Then again, in 10 or 20 years there will be something on top of IDEs that make them look as primitive as a simple text editor does to Eclipse, and I'll probably be whining about the young folks and their newfangled thingies, and I won't trust them, because my comfort level is in an IDE as we know them today.

Unjustified extrapolation.

Hopefully, I'll not be as old and stuck in my ways as you are though.

Ad hominem.

Re:"Need" an IDE (1, Insightful)

Anonymous Coward | more than 4 years ago | (#29669971)

Gosh, you know a latin phrase. How about learning what it means now? Also picking up the basic concepts of sentence composition and verbal argument might be a help.

Re:"Need" an IDE (0)

Anonymous Coward | more than 4 years ago | (#29670113)

Gosh, you know a latin phrase.

Actually, that phrase is pretty well known to English speakers these days. It has almost been adopted into the language.

How about learning what it means now?

Care to point out any examples of misuse?

Also picking up the basic concepts of sentence composition and verbal argument might be a help.

My reply was essentially a list. I'm sorry[1] you had a problem with that.

[1] not really

Re:"Need" an IDE (1)

hrimhari (1241292) | more than 4 years ago | (#29670407)

Bullshit, you only make this argument based on your comfort zones and your levels of trust.

Profanity, straw-man, pseudo-psychology.

(...)

Cowardice : )

Re:"Need" an IDE (2, Interesting)

corbettw (214229) | more than 4 years ago | (#29669061)

How can we have a flame war about the definition of a Real Programmer© without a link to the story of Mel [utah.edu] , the original Real Programmer©?

Re:"Need" an IDE (3, Interesting)

MaraDNS (1629201) | more than 4 years ago | (#29669371)

The original Usenet posting from 1983 actually wasn't pseudo-poetry; it was prose. The original groups.google.com article has disappeared, but a web version of the article in its original prose is here [pbm.com] .

Re:"Need" an IDE (3, Interesting)

corbettw (214229) | more than 4 years ago | (#29670457)

From the postscript at the end of this version: "The original submission to the net was not in free verse, nor any approximation to it --- it was straight prose style, in non-justified paragraphs. In bouncing around the net it apparently got modified into the `free verse' form now popular. In other words, it got hacked on the net. That seems appropriate, somehow."

Re:"Need" an IDE (1)

gestalt_n_pepper (991155) | more than 4 years ago | (#29669595)

Well in *my* day, we didn't use any of those fancy dancy text editors! No sir, by golly, we used honest-to-god mechanical switches on a panel to program in our boolean logic and THAT'S THE WAY WE LIKED IT!

Now get off my lawn!

Re:"Need" an IDE (1)

petrus4 (213815) | more than 4 years ago | (#29670029)

Yeah. I've only discovered the joy of ed in the last month.

I feel like such a newb. ;)

Re:"Need" an IDE (0)

Anonymous Coward | more than 4 years ago | (#29670977)

ED? Lucky you!

What?! Re:"Need" an IDE (0)

Anonymous Coward | more than 4 years ago | (#29670055)

Oh please. Sure, and there is something very wrong if VLSI designers need CAD software as opposed to it being convenient.

Now I know why some "enterprise" level software leaves something to be desired. It was probably written by someone who thought vi is all you need.

Curious, do you spend most of your time dealing with accidental complexity?

Re:"Need" an IDE (1)

Deanalator (806515) | more than 4 years ago | (#29670173)

Why use a text editor when you could just lay your program out in punch cards? God, people today are so lazy.

Re:"Need" an IDE (1)

hrimhari (1241292) | more than 4 years ago | (#29670439)

It has already been stated everywhere in this discussion that the real way to program is by using cables and switches. Stop trying to push your silly punch card IDE as a necessity!

punch cards (1)

jDeepbeep (913892) | more than 4 years ago | (#29672163)

It has already been stated everywhere in this discussion that the real way to program is by using cables and switches.

Be that as it may, you still receive the same amount of masochism points for not numbering the punch cards, and then dropping them in the hallway later on.

Brian Kernighan of AWK/AMPL Fame (5, Insightful)

Anonymous Coward | more than 4 years ago | (#29668467)

Not the Brian Kernighan of "The C Programming Language" fame, then?

Re:Brian Kernighan of AWK/AMPL Fame (1, Insightful)

elnyka (803306) | more than 4 years ago | (#29669617)

Not the Brian Kernighan of "The C Programming Language" fame, then?

That's exactly what I was thinking. I'm like WTF with the title of this thread (??????????)

Re:Brian Kernighan of AWK/AMPL Fame (2, Funny)

Anonymous Coward | more than 4 years ago | (#29670955)

I like this meme, don't let it die.
Here's some ammo:
Bill Gates of DONKEY.BAS fame.
Linus Torvalds of git fame.
Steve Jobs of NextStep fame.

Seriously (4, Insightful)

Anonymous Coward | more than 4 years ago | (#29668539)

This is frickin slashdot. Who here needs an introduction of Brian Kernighan?

Re:Seriously (1)

drbinofski (1650115) | more than 4 years ago | (#29668627)

I agree! I ranked this down as a 'slow news day', but obviously the weight of opinion was against me. Bring me a new interview with Alan Turing and maybe that would peak my interest! Or if Brian had something interesting to say in the interview maybe.

Alan Turing (1)

jDeepbeep (913892) | more than 4 years ago | (#29668719)

Bring me a new interview with Alan Turing and maybe that would peak my interest

Now that could be quite the challenge. I hear he's not granting many interviews lately.

Re:Alan Turing (1)

drbinofski (1650115) | more than 4 years ago | (#29668789)

Bring me a new interview with Alan Turing and maybe that would peak my interest

Now that could be quite the challenge. I hear he's not granting many interviews lately.

Certainly would. Establishing an after-life being one and formulating a means of communication with those in the after-life being the next. Expectations of what would 'peak my interest' being pretty modest after all! ;)

Re:Alan Turing (0)

Anonymous Coward | more than 4 years ago | (#29669265)

Communicating with Alan Turing is impossible. Once you are dead, you are dead. Finito. Bruce Schneier on the other hand has left a database of all his knowledge and answers to any possible question encrypted into number PI.

Re:Alan Turing (1)

Hognoxious (631665) | more than 4 years ago | (#29672055)

His program might be stored somewhere. One day someone might invent an optimised universal interpretative joint assembler.

Re:Seriously (2, Funny)

Dionysus (12737) | more than 4 years ago | (#29668633)

This is frickin slashdot. Who here needs an introduction of Brian Kernighan?

People with userid# over 20 000?

Re:Seriously (1)

bcmm (768152) | more than 4 years ago | (#29668655)

My ID is well over that, and I initially presumed they were talking about some other Kernighan because they felt the need to introduce him.

Re:Seriously (0)

Nadir (805) | more than 4 years ago | (#29668699)

You are all youngsters :)

Until today I hadn't realized I had such a low user id...

I have been reading Slashdot for far too long.

Re:Seriously (0)

Anonymous Coward | more than 4 years ago | (#29672949)

Until today I hadn't realized I had such a low user id...

You may not have realized your id was low, but you probably realized that your username [reference.com] was pretty low.

Re:Seriously (3, Funny)

rgo (986711) | more than 4 years ago | (#29668813)

Why don't you old people just let us live in peace!? Do you think we are all idiots?!

Btw, what is C programming language? Is it an obsolete computer language like Visual Basic 6 or machine code?

Re:Seriously (-1, Redundant)

Anonymous Coward | more than 4 years ago | (#29669239)

Machine Code is a lot of things but it isn't obsolete.....

Re:Seriously (3, Funny)

shutdown -p now (807394) | more than 4 years ago | (#29671579)

Btw, what is C programming language? Is it an obsolete computer language like Visual Basic 6 or machine code?

It's actually a tool created by communist conspirators to enable the creation of the infamous Lunix operating system [adequacy.org] intended to subvert our free society. That is why you're well advised to stay away from it if you ever see it, stick to God-blessed, corporate-backed tools such as Java and .NET, and report any sightings of C programmers in the wild (generally identified by the beard [nyu.edu] ) to BSA and NSA.

Re:Seriously (2, Funny)

Sir_Lewk (967686) | more than 4 years ago | (#29676275)

the infamous Lunix operating system intended to subvert our free society.

Thought you were RMS there for a second. ;)

Re:Seriously (0)

dodobh (65811) | more than 4 years ago | (#29669147)

Nah, we know who Kernighan is. We have also read 'Reflections on Trusting Trust'.

You are probably off by two orders of magnitude.

Re:Seriously (3, Informative)

sconeu (64226) | more than 4 years ago | (#29670063)

Reflections on Trusting Trust is by Ken Thompson, not Brian Kernighan.

Re:Seriously (0)

Anonymous Coward | more than 4 years ago | (#29669459)

My ID is over 20,000 (heck, it's over 60,000), but I'm sure I am older than you and have been programming a lot longer.

Class libraries are too complex (1)

TheSync (5291) | more than 4 years ago | (#29672609)

I argue that many standard class libraries (especially Java) are too complex. There is too much inheritance going on at the expense of ease-of-use.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...