" Since 2004, Enigma Group has been providing its members a legal and safe security resource where they can develop their pen-testing skills on various challenges provided by this site. These challenges teach members the many types of exploits that are found in today's code; thus, helping them to become better programmers in the mean time. By knowing your enemy, you can defeat your enemy. "

September 07, 2010, 08:50:07 am *
Welcome, Guest. Please login or register.

Login with username, password and session length


<-- Please vote for us on the Progenic TopList!

Has this site helped you? Then help us with your support.

News: Download your copy of The Enigma Group Manual, intended for new members, as an introduction to this site.
 
Enigma Information
Main Index
EG Manual
Disclaimer
Legal Information
Hall of Fame
Hall of Shame
Member Rankings
Members List
Meet the Staff

Training Missions
Read Me First New
Basic Skills
Realistic Scenarios
Cryptography
Software Cracking
Linux ELF Binary Cracking
Logical Thinking
Programming
Captcha Cracking New
Patching
Steganography
Deface This Wall
/dev/null
/dev/urandom
/dev/extra New

Knowledge Bank
Discussion Forums
Enigma Chat New
RSS Feeds
Articles / Tutorials
Videos
Online EG MP3 Player
Enigma Zine
Downloads
Tools

Submit Code
Ajax
ASM
Bash
C
CPP
Csharp
Delphi
Haskell
Java
Javascript
Jython
Lisp
mIRC
MySQL
Perl
PHP
Python
QBASIC
VisualBasic

The Urinal

Click Here To Vote For EG!

hakipedia

Has Enigma Group Helped You? Then Help Us By Advertising For Us. Place One Of The Following Images On Your Site.

enigma group

enigma group

enigma group

enigma group
Pages: [1]
  Print  
Author Topic: Poll: Does convenience result in poor programmers?  (Read 182 times)
0 Members and 1 Guest are viewing this topic.
Ultraminor
Full Member
***
Online Online

Posts: 192
Rep: 8

Python powered Mama Luigi


WWW
on: July 16, 2010, 11:00:02 pm �

I am asking your opinion on an issue that, to me, seems very poignant.

I'm sure you're all familiar with handy tools such Microsoft's .Net, that make programming easy and quick, especially in the graphics departement. With, for instance, Visual C++ Express Edition (available gratuis from the Microsoft website), you can make a simple Windows forms application in literally seconds. Some might say that it's an idyllic situation; anyone can be a GUI coder!

However, in my opinion, excessive use these tools is unwise. Why? Because they make you stupid.

For instance, I was working on a project in VC++, and forgot to initialize a floating-point variable. I only noticed this after I hit the "Compile and run" button. Little did I expect: the variable was initialized for me!

Some might argue that this is an excellent idea from MS; a careless programmer marauding with an unitialiazed pointer would be very bad; with a NULLed pointer, there is no issue. Thus, the compiler simply makes code safer.

However, things like automatic variable initialization will lead to laziness on the part of the programmer.

As many can testify, the conveniences offered by tools like VS go far beyond things like auto-initialized variables. Example: huge amounts of auto-complete capabilities, built into the editor. This may well keep stress off your typing fingers, but, it also keeps the stress of your brain. You no longer have to think about what you're doing.

However, perhaps the biggest pitfall of .Net and its ilk is it's huge ammount of propriety libraries. With so much at your disposable (most readily, thanks to auto-complete), one might think that your code would be better than ever, not so? In addition, let's not forget the handy, but mind numbing visual GUI editor.

Wrong. In my opinion, having instant access to so many libraries, especially when the libraries are so darned simple to use, will make for poorer programmers in the future. A developer working with VS has no idea what his application is doing when he calls those mystic Windows functions. All he knows is, with that one magic function call (or that one toolbox item), he can create a fully functional web browser (teh awesome!).

As anyone who has programmed for Windows outside of .Net can tell you, it's infinitately more difficult to code up a GUI app, or a network app, or anything complex, using only pure Windows API libraries. However, this is for the better; a programmer doesn't simply have access to the magic elixir that makes programming easy.

Coders: don't rely on your libraries, or your editors, too much.

This is my opinion; if you stop by on your travels, please leave yours.
Logged


. -. .. --. -- .- --. .-. --- ..- .--.
I am here to learn not to download free porn.
Quote from: Nasrudin
Like I said before in one of his forum posts, that Ultraminor really needs to get off of his high horse or be smacked to a wall at a high velocity. Both would help.
Rik
asshat
Full Member
*
Offline Offline

Posts: 121
Rep: 4


Reply #1 on: July 17, 2010, 08:07:07 am �

It only results in poor programmers if they choose the convenient way to start off with. For example, some people start off using the Win32 API and after they've become comfortable with it, they start using MFC because it's less time consuming. I think that's perfectly fine. So I wouldn't say that convenience results in poor programmers. I'd say the programmer makes himself what he is.


Also..err... I'm not exactly sure what you mean when you're talking about the editors. How does using features like auto-complete and intellisense make you any less of a programmer?  They're lifesavers when you're working with large projects and you don't want to have to refer to your class files every few seconds to remember the names of certain things.


Things like GUI editors are very useful and they do allow for faster development which is important in the real world.  You also said that the person working with VS has no clue what he's doing when he calls that mystic windows function... This isn't necessarily true. There is no reason to assume that the user has no idea what's being done underneath all the abstraction.

Logged

aVoid
Owner of your base EGU Elitist
Administrator
Hero
*****
Online Online

Posts: 843
Rep: 51



Reply #2 on: July 17, 2010, 10:15:28 am �

All your statements are biased and do not apply to all programmers. I realize you said "in my opinion" however it's still up to the person to remain "stupid" on a subject. The programmer must figure out what these "mystic Windows functions" are and I believe most great programmers in the world do know. Who really adds/uses mystery functions and libraries in their code without at least a little knowledge of what they are doing?
Logged

[10:38] <p2501> guys I'd like to be 16 and have time for this :-/
[10:38] <Ultraminor> How old are you?
[10:38] <p2501> 28
[10:39] <Ultraminor> Heh
[10:39] <Ultraminor> You're twice my age
[10:39] <p2501> and still no sex... can you imagine it ??
[10:39] <p2501> terrible
blink_212
Developer
Veteran
*****
Online Online

Posts: 1027
Rep: 49


Reply #3 on: July 17, 2010, 11:06:06 am �

I think its more laziness that makes poor programmers, as a pose to conveinience. Its the whole 'why re-invent the wheel?', sort of, why would you do something that takes much less time and works in the same manner? Granted, if any task is done poorly it will inevitably effect the outcome.

To conclude, I think that its more about a mixture of conveinience and laziness as a pose to just conveinience.

Just my 2 cents,
blink
Logged

I dont post.



can anybody help me taking over the site in someother way... plz or else i loose my contract am a pen tester...

experts suggestions are needed..........
upinsmoke
Newbie
*
Offline Offline

Posts: 46
Rep: 13


Reply #4 on: July 20, 2010, 03:43:22 am �

I agree. No programmer worth his salt 'should' fall into those traps you mention.
Though, libraries and 'convenience functions' are very useful if you know what you're using.
And, after all, it's your code.

 -- UIS
Logged
snozzberries
Newbie
*
Online Online

Posts: 1
Rep: 0


Reply #5 on: July 22, 2010, 03:20:06 pm �

I think that using the GUI is a choice. I dislike using visual coding, but I do not dislike things like Dreamweavers auto complete. Coding crutches, in the sense that they make my coding much faster. Rather than having to remember exact syntax I can start coding and will be confronted with other options. I agree that visual programming is horrific because you can create applications and have no knowledge of how they work. 
Logged
Raze
Newbie
*
Offline Offline

Posts: 24
Rep: 4


Reply #6 on: July 24, 2010, 10:08:17 am �

Poor programmers result in poor programmers. Using things that are convenient doesn't make you any less of a programmer as long as you understand whats happening under the hood. In the real world no one cares how clever you were re-inventing the wheel, they want it done and they want it done well.


Reinventing the wheel IS fun and great for learning, however, in a world of deadlines you can't be doing it at every opportunity.
Logged

If you're on my dick then I hope you hurt your knees
Pages: [1]
  Print  
 
Jump to:  

Back To Top