|
Indeed. I remember all too well doing embedded programming with just a command line compiler (no debugger). I also had a suite of MS-DOS applications I built and maintained using command line tools (no IDE, no debugger).
Software Zen: delete this;
|
|
|
|
|
Philip Laureano wrote: So what do you guys think?
I think it is a stupid idea.
This is the way things used to be done. Try something like building an application in binary if you want a challenge. Been there, done that.
Gary
|
|
|
|
|
I think I recall that C9 was the op code for "ret" for a z80 ... from "poking" bytes into a Sinclair micro with the upgraded 16kb module and cassette tape drive. Took several days to get a software divide to work. Never again.
|
|
|
|
|
Pshaw. Wrote a floating point square root routine in microcode in octal. Had to remember DMA refreshes on dynamic RAM so it maintained its contents. HP-21MX computer. A 16-bit screamer, discrete TTL logic back in 1980.
I'd do it again. I'm sick tho.
Gary
|
|
|
|
|
It would be stupid for someone that's been there and done that. Not the other way around.
Or do you really think you would have better skill if you hadn't been there or done that?
|
|
|
|
|
You seem to have got quite a lot of fairly negative responses. Well, I just wanted to say that I like the idea.
I've only ever really developed in a world of IDEs. From when I started vb4 sometime in my school years.
I think the idea of removing the IDE from your developing will help you learn some of the skills that the older generation of programmers have. I think you'll gain a better knowledge of the framework. I know when I come back to do something I often rely on intellisense to remind me of the exact name of a function or class. Without an IDE, you'll have to work from memory, so you'll improve that memory.
Also, I have written custom code snippets for things like the dispose pattern, which means, if I'm honest I'm not sure I could type out the dispose pattern without a mistake without referring to my snippet.
What the IDE has done for us is removed the need to remember all the little details. While this is good for a lot of development, when we start to rely on it, it can become detrimental.
I might join you in going IDE-less at home for a while.
Good luck.
Simon
|
|
|
|
|
Simon Stevens wrote: You seem to have got quite a lot of fairly negative responses. Well, I just wanted to say that I like the idea.
Thanks. It might be a waste of time for some, but that still doesn't change the way I think about it. If I can learn something out of the experience, then it really doesn't matter what everyone else says.
Simon Stevens wrote: I think the idea of removing the IDE from your developing will help you learn some of the skills that the older generation of programmers have. I think you'll gain a better knowledge of the framework. I know when I come back to do something I often rely on intellisense to remind me of the exact name of a function or class. Without an IDE, you'll have to work from memory, so you'll improve that memory.
...and that's exactly what I'm getting at--I wasn't born during the days when the old timers had to hack away at console terminals just to get a compile going, and even if they say that I'm already doing that", what about me? Like everyone else here, I want to be a better programmer. There's no way I can get the same amount of experience or knowledge unless I do it on my own, and frankly, I don't care if the questions I ask might seem "stupid" to others--at least I learn from it, and I make absolutely no apologies for asking those questions.
Simon Stevens wrote: What the IDE has done for us is removed the need to remember all the little details. While this is good for a lot of development, when we start to rely on it, it can become detrimental.
Well, it's that detrimental dependency on an IDE that bothers me. I want to understand what is underneath the IDE in the same way some programmers (like myself) study IL to understand the higher level CLR languages like C#, and VB.NET. You can go through your entire career without ever knowing IL, but for those of us that *do* know about it, it really changes the way you think about the framework itself.
So if I get flamed for it, then so be it.
|
|
|
|
|
Seems really pointless and of no interest to me, but at one point I had TextPad set up in such a way that I could do C++ and D builds. I sometimes do NSIS development this way.
I think a huge advantage of IDE's is being able to step around in unknown code with the debugger (CodeProject articles come to mind) to see how the code works in order to "learn from" and adapt. Isn't that kind of the ... uh ... point of CodeProject?
|
|
|
|
|
My personal projects tend to be written in Python or Haskell - so no IDEs for me (yeah, I know there *are* Python IDEs, I just prefer TextMate on my Mac).
It helps that both languages have an interactive shell so you can try out fragments before committing them to 'real' bytes in a file. Also helps that the build experience is relatively trivial for both; Python doesn't need building, while for Haskell, the de-facto standard compiler (ghc) has a built in 'make' system that does automatic dependency checking. So, if I have a whole load of Haskell files, with the entry-point in MyApp.hs, I can just use ghc --make MyApp and it'll work out what needs to be compiled, how to link etc etc..
|
|
|
|
|
30 days without fried food I get. 30 days without alcolhol I get (under protest). 30 days without drugs I get (non starter - I must be at 10 years now). 30 days without sex I .. actually no I don't get that one .. moving on.
WHY??? "Kicking the IDE habit"??? .. LOL .. I kind of think thats a good habit.
How about 30 days without writing grubby work-arounds
(Good luck .. I hope your ulcers recover soon )
The only thing unpredictable about me is just how predictable I'm going to be.
|
|
|
|
|
That's how I work anyway. Textpad as the editor, and command line tools to compile.
|
|
|
|
|
Like others have said, all you'll really gain from this is a better memorization of the language and API since you won't have Intellisense, and a better knowledge of the compilation, which could be useful. In the long run, this seems kind of...pointless.
Also, I think it depends on what you're building. This would be fine for class libraries and some web sites, but I'll bow to the person who writes a WinForms front-end consuming a WF back-end without touching the IDE. (I'd also have you committed, but that's another story).
|
|
|
|
|
JHubSharp wrote: Also, I think it depends on what you're building. This would be fine for class libraries and some web sites, but I'll bow to the person who writes a WinForms front-end consuming a WF back-end without touching the IDE. (I'd also have you committed, but that's another story).
It's safe to say that I don't think I'll ever write a WinForms GUI by hand--even I have to admit that's pointless. In my case, I rarely make any GUI apps, so creating your own class libraries without an IDE isn't as suicidal as say, trying to manually plot the screen coordinates of a WinForms control on a form.
So yeah, you can call me crazy, and it makes me write better software in the end, I don't mind being called a loony.
|
|
|
|
|
I dont think it is pointless, this is a very dangerous and broad word.
I can give you an example:
You used to work for a company and there you developed a very complex Win Forms app.
Well, now you don't work there anymore but they want you to add a functionality or fix a given class.
Well, they don't want to give you the whole project and they send you only the relevant file.
This file won't compile and uses types defined in other areas of your application. How would you go about that?
Fix the text file and send it back so they will compile there in the project.
This is only one reason among many that beeing less dependant of the IDE might coming in handy.
I don't think it is pointless to get yourself better at something and less dependant of something else.
Cheers
|
|
|
|
|
In my book, fixing a desiner file in a text editor is much different than writing a designer file from scratch.
|
|
|
|
|
Certainly a worthwhile exercise. If I were stripped out of Visual Sutdio I would be in the mud.
Sometimes I feel I don't know how to code as VS does it all for me.
What If I couldn't select the method on the Intellisense list?
I think that is great exercise, requires some balls but is worth a try.
I bet you will (at least I would) end up running back to those old books and help files to figure out what is that little thing that you used to do all the time but you can't remember now (HAHA NO intellisense for you and no drag'n drop).
I think this way you can even figure out better ways to do the same thing.
Nice initiative, I just don't know If I have the guts to do it, besides doing very simple console applications using C.
Regards
|
|
|
|
|
Real programmmers code using paint and produce graphics using notepad 
|
|
|
|
|
That would be an excellent way to learn more about programming. I'm pretty new to programming (1 1/2 years as a hobby) and it would be beneficial for me to go through that experience. The only reason I wouldn't do it is because API documentation sucks so bad! I might learn more about how the compiler works but I wouldn't be able to find enough definitions to actually have a full program to compile.
But for you 10 and 15 year veterans it could only help. You already know the APIs or atleast enough to get through. So the worst thing is you would become faster and more efficient while expanding your API vocabulary. You're not going to maintain first place if you don't hone your skills every once in a while.
I'm still very intrigued by this idea. If anyone has any suggestions about a language that has good documentation, or maybe good third party documentation for one of the VS languages, your sharing would be appreciated. This would be an awesome way for me to better understand what is happening behind the scenes, but it's impossible without better resources.
I have another question. I've never worked on a large project. How do you guys (or girls) plan and implement code if you can't recall (off the top of your head) what methods' parameters are? It seems like that would be a very crucial part of the design stage.
P.S. Great Idea!
modified on Thursday, September 25, 2008 9:38 AM
|
|
|
|
|
Adam Loudermilk wrote: I'm still very intrigued by this idea. If anyone has any suggestions about a language that has good documentation, or maybe good third party documentation for one of the VS languages, your sharing would be appreciated. This would be an awesome way for me to better understand what is happening behind the scenes, but it's impossible without better resources.
MSBuild is a great tool build to research since it's practically the lingua franca for the VS2005/2008 build environment. As for the programming languages, I recommend using C# since it really cuts down on the typing compared to VB.NET. VB.NET, in contrast, might be a bit easier to learn since it's much closer to the English language, but it hides much more implementation details from you than C#, and that might not be a good thing if you're looking to understand the framework.
My only advice to you is to start solving small problems, and keep practicing your way until you can solve bigger problems. Once you're done with that, just repeat the cycle all over again. Rinse, and repeat.
Adam Loudermilk wrote: I have another question. I've never worked on a large project. How do you guys (or girls) plan and implement code if you can't recall (off the top of your head) what methods' parameters are? It seems like that would be a very crucial part of the design stage.
The simple answer for me is that most of the time, I don't have the whole solution to the problem planned out in my head. I only have bits and pieces of answers to some of the smaller problems in the overall solution, and I keep solving those problems incrementally until the pieces come together to solve the bigger jigsaw puzzle. IMHO, the art of writing code is managing complexity, and if you can keep it simple and manageable, then you can work with projects of unimaginable (or seemingly unmanageable) size.
I think Sun Tzu said it best--it's not about the size of the task as it is about minimizing complexity. Once you minimize complexity, managing a big project and a small project is conceptually the same task. It's all a matter of organization.
Adam Loudermilk wrote:
P.S. Great Idea!
Thanks.
|
|
|
|
|
How about writing your code with pen on paper first?
That's what we did at the university!
|
|
|
|
|
I'm currently writing in Kate which is just a text editor and compile with Make in a Bash shell. At work. On Linux.
Debugging? printf.
Last year at this time I was in VS2005 with all the intellisense and wizards and Enterprise Application Block and config editors and WCF interface generators and LLBL object modelers and.... there wasn't much coding involved.
Heh. I'm fine with the command line. Kinda like when Java 1.0 came out and I was using Multi edit and command line tools. Fun!
But to be fair, Kate has good syntax highlighting, but no smart indent. No intellisense.
I've heard more said about less.
|
|
|
|
|
Could I use graphical resource builders and decompilers?
Chuck Norris has the greatest Poker-Face of all time. He won the 1983 World Series of Poker, despite holding only a Joker, a Get out of Jail Free Monopoloy card, a 2 of clubs, 7 of spades and a green #4 card from the game UNO. In the movie "The Matrix", Chuck Norris is the Matrix. If you pay close attention in the green "falling code" scenes, you can make out the faint texture of his beard. Chuck Norris actually owns IBM. It was an extremely hostile takeover.
|
|
|
|
|
Could I use graphical resource builders and decompilers?
Yes, you can. The point of this exercise is to get you familiar with how to build projects manually without having to rely on the IDE. I don't recommend this approach for production scenarios, of course, but it can be really useful if you want to understand the processes that the IDE does behind the scenes.
In other words, you should be "one with the compiler"
|
|
|
|
|
the men from the boys
for sure
just think if they had to know how to create a make file
or build a library from scratch.
David
|
|
|
|
|
They build a solar power plant in a tunnel!!!
http://english.people.com.cn/90001/90776/90882/6505546.html[^]
Thankfully it's just the title which is misleading, the solar power plant would be on top, i.e. outside!!!
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
_________________________________________________________
My programs never have bugs, they just develop random features.
|
|
|
|