 |
|
02-17-2006
|
#1 (permalink)
|
|
Thinking
|
Not Ranked
:
+0 / -0
0 score
Developer Woes: Quirks of Programming Languages
To display a simple message box, I need to use the terms MsgBox in VB, MessageBox in VC++, alert in JavaScript, showMessgeDialog in Java... No wonder, I have started losing hair as a developer!
Why not use a single name, say MessageBox, which is much akin to plain English, whatever the language you're using for development? The capabilities might differ across languages, but at least let the names remain the same. Common names could help the cause of the much-talked-about RAD. Let the competition be among the capabilities, not names. The aim should be to build a united world, not create another Tower of Babel.
Today, several programming, script and database languages are in active use for different tasks in application development. Developers are required to be proficient in a good number of them, and fine-tune their ability to combine and integrate them within the framework of an application. It's time a Consortium on the lines of the W3C, is formed to impose standards for names, specially methods, functions and procedures, across programming and scripting languages.
Until such time as it happens, can somebody develop wrapper methods with a single name across languages that call the relevant methods internally?
saidevo
|
|
02-18-2006
|
#2 (permalink)
|
|
Doing the Impossible
Location: Madison, OH (when not in fantasy land)
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
I like the idea, but how would you deal with all the existing languages? Would all the code behind the existing laguages need to be rewritten to recognize the new codewords? Would all the existing software need to be rewritten using the new language?
Perhaps there is an opportunity here for you to create a solution. Write a development environment that acts as a front end for multiple languages. The user would write code in the "common tongue" and it would be translated into whatever native code they chose. It would be a challenge, but if done successfully it would provide a huge leap in simplifying software development.
Bill
----------------
aka TheBigDog - Hypography Full Freaking Moderator
Become a Hypography sponsor!
The truth is incontravertible; malice may attack it, ignorance may deride it, but in the end there it is. - Winston Churchill
TheBigDog's recommended reading: The Science of Success - Charles G. Koch
A neutron goes into a bar and asks the bartender, "How much for a beer?"
The bartender replies, "For you, no charge."
|
|
02-18-2006
|
#3 (permalink)
|
|
Hypographer
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
I thought this was the basic purpose on programming frameworks like .NET.
----------------
Your Friendly Neighborhood Administrator
Want to lose the advertisements? Become a Sponsor!
Join our Facebook group or follow us on Twitter
Science is not only compatible with spirituality; it is a profound source of spirituality.
- Carl Sagan
|
|
02-18-2006
|
#4 (permalink)
|
|
Doing the Impossible
Location: Madison, OH (when not in fantasy land)
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
Even .net doesn't get yout there. It has a common set of tools in the framework, but different language for invoking them in the toolset. I can use vb.net, but I am lost on c# or j#, etc. And translation wizards from other languages are hit and miss. I had written a simple calendar program in VB6. It could not translate into .net because the connection type I used to the background DB was not supported in .net, and it used control arrays that are not part of .net.
While .Net is a step in the right direction (IMO) it is not the final destination.
Bill
----------------
aka TheBigDog - Hypography Full Freaking Moderator
Become a Hypography sponsor!
The truth is incontravertible; malice may attack it, ignorance may deride it, but in the end there it is. - Winston Churchill
TheBigDog's recommended reading: The Science of Success - Charles G. Koch
A neutron goes into a bar and asks the bartender, "How much for a beer?"
The bartender replies, "For you, no charge."
|
|
02-18-2006
|
#5 (permalink)
|
|
Creating
Location: Silver Spring, MD, USA
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
Another approach to combating the “tower of babble” effect in programming languages is to avoid high level languages, and stick with something like C or C++ without large “foundation” class libraries. Of course, this means you’ll either become bound to the hardware, or, if its present, the operating API (90%+ Win32).
My own background in M[UMPS] got me involved in a late 1980s comittee effort to develop a way for the M language to interact with a generic “windowing” environment. This produced something known as MWAPI (M Windows Application Program Interface).
MWAPI attempted to make accessing the display syntactically nearly identical to accessing date. Creating a simple message box looks something like
Code:
SET ^$WINDOW(“mywindow”,”GADGET”,”mylabel”,”TYPE”)=”LABEL”
SET ^$W(“mywindow”,”G”,”mylabel”,”VALUE”)=”Hello World”
(note: ^$W and ^$WINDOW refer to the same thing), dismissing it
Code:
KILL ^$W(“mywindow”)
Nearly all M language implementers in the early 1990s were interested in, and many implemented MWAPI. The development committee put a lot of effort into standardizing a binding to unix’s X windowing scheme, and a couple of implementers bound it to pre-MSWindows 3.1 GUIs. Other than MWAPI bound to X, however, it was hard keeping the various implementation attempts standard, and the whole effort pretty much fell apart.
MWAPI never caught on with developers, and when windows 3.1 began gaining popularity, was almost completely abandoned in favor of a wild zoo of windows and X –using client applications. Eventually, a lot of M developers began to favor browser-applications. As HTML 2 failed to progress into HTML 3, and browsers began more playing host to Java, flash, and other embedded scripts and applets, than simply rendering HTML, even these efforts got bogged down in code-generated-by-code complication.
I really miss MWAPI, but acknowledge that it was ill-conceived and conceptually flawed from its inception. Incredibly (to non-programmers, at least), the seeming simple mechanics of displaying and receiving data remains a complicated, tail-chasing pursuit.
There’s a lot to be said for command line interfaces to simple scrolling terminal applications.
|
|
02-18-2006
|
#6 (permalink)
|
|
Questioning
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
This was the purpose for .Net - write once, run anywhere. Unfortunately, as we've seen, unless you're writing something remarkably simple, each language has its own nuances that must be observed for your code to work properly.
VB6 and VB .Net are not designed to be compatible - Microsoft essentially wrote a new language that was similar on the front end to VB (controls are identical with the addition of a few more) but almost completely different on the back end. MSDN will be your friend on that problem.
I've pretty much resigned myself to three languages at this point: C (mostly Linux coding), VB .Net (Windows and some Mono environment stuff) and Java. The problem I have with the nosebleed-high level languages is that they take so much responsibility away from the programmer. I actually prefer to be responsible for the memory I use and then deallocate. I cannot stand errors in my program that point toward a library that I didn't write or implicitly include.
I'd love to eventually play with C#, but at the moment, time is not something I've got an abundance of. Perhaps later.
----------------
Needles in haystacks are less of a problem if you have an electromagnet the size of a Volvo.
|
|
02-19-2006
|
#7 (permalink)
|
|
Dedicated Smart-ass
Location: Just before 0xAA55
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
yeah i stick to a few languages myself, mainly C++, Python and PHP, since i dont do much windows development, i care less about the .net platform, not that it is a good development platform to begin with, i mean it works in theory, but in practice MS did a splendid job of blowing, VB.net has some improvements, but other then that, its mostly pretty useless, in my eyes anyways, wont argue what anyone says though, oh and C# blows, so i stick with C++ for any kind of windows needs i may ever have, language is pretty stable, and all you really need is to learn some libraries, like i am currently learning GStreamer for audio and video needs, and you are golden (luckily most stuff i do is not gui centric, but god, i mean do you know that it takes about 70 lines of code to make a window that doesnt do anything in windows? yeah, very very frustrating it can be, and if you look at the Visual programming code... its like Dreamweaver generated webpage...) anyways...
i know what you mean with frustrations, but i think that since you only care about really 3 languages, you should not really have many problems, i mean aside from C++, Python and PHP, i deal with C, Perl, Bash script, Ti C, Delphi, ColdFusion (infact very recently), Java and JavaScript, oh and fvwm config files (which are written in a dead language from another planet) all have extremely different styling and ways they do things, but after a while, you just tend to get used to these things, i think for now its a reality of programming... But, seriously, now looking at something like Ruby, its like, wow i know 90% of it (its kinda like an unannounced, bastard child of Python and Perl  )
P.S. if you dont beleive me with fvwm config files here are a few exerpts:
Definitions of some keyboard bindings:
Code:
Key escape A $[Mod2] EWMH-Toggle Key escape A $[Mod2]
Key l A $[Mod2] All (CurrentPage) Iconify Key l A $[Mod2] EWMH-Toggle
Mmm, menu:
Code:
# --- /5Graphics ---
*ApplicationPanel: (1x1, Size 22 22, Icon "gimp.png", \
Action (Mouse 1) Menu /5Graphics $[MenuPosition-Below], \
Action (Mouse 3) X gimp)
DestroyMenu /5Graphics
AddToMenu /5Graphics
Test (x blender) + "%blender.png%Blender" X blender
Test (x kpaint) + "%kpaint.png%Kpaint" X kpaint
Test (x oodraw) + "%oodraw.png%OpenOffice.org Draw" X oodraw
Test (x inkscape) + "%gimp.png%Ink Scape" X inkscape
Test (x gimp-2.2) + "%gimp.png%The Gimp" X gimp-2.2
+ "" Nop
Test (x gqview) + "%gqview.png%GQview" X gqview
Test (x kview) + "%kview.png%Kview" X kview
...may seem simple, but all kinds of info is scattered in all kinds of places, trust me, those are wicked weird to do anything with...
----------------
Microsoft, the leader in using innovative tactics to promote irksome experience, coupled with antiquated technology that's held together by a pyramid of makeshift afterthoughts.
Apple, the leader in using irksome tactics to promote innovative experience, coupled with an antiquated core that's enhanced by state-of-the-art afterthoughts.
Linux, the leader in not using any tactics to promote user-defined experience, coupled with state-of-the-art core enhanced by innovative afterthoughts.

|
|
02-23-2006
|
#8 (permalink)
|
|
Thinking
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
Quote:
|
Originally Posted by TheBigDog
Perhaps there is an opportunity here for you to create a solution. Write a development environment that acts as a front end for multiple languages. The user would write code in the "common tongue" and it would be translated into whatever native code they chose. It would be a challenge, but if done successfully it would provide a huge leap in simplifying software development.
Bill
|
Yes, a development environment is what I had in mind. You've put it nicely. And it should be open source and cross-platform. Somebody can start with a handful of most popular languages and more can be added in collaborative development across the Net. We only need generation of the source code in the preferred language from the development environment, and this can be compiled later.
In the same way, we should also have a common development environment that uses ANSI standard SQL and translates a query to the required way with multiple database management systems, which have their own quirks and add-ons.
saidevo
|
|
02-23-2006
|
#9 (permalink)
|
|
Dedicated Smart-ass
Location: Just before 0xAA55
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
Quote:
|
And it should be open source and cross-platform. Somebody can start with a handful of most popular languages and more can be added in collaborative development across the Net.
|
you clearly can not realize the scale of a project such as that, a crossplatform development platform, you would need a decently large team of people knowledgeble in loads of platforms (and i know that you are not the guy who wrote the MySQL base code (a Canadian, who is a friend of a friend of mine, who is the only person i have heard of so far, that can develop on 26 different platorms, and even for him, it would take months and months per language)), you would need to know intricacies of processor architectures as well as a complete knowledge of the OS you are developing on, so you really need a team of developers working for months and months and months to a common goal of getting one language to be completely platform independent, oh and you would need a team of psycologists who are willing wo write a complete description of all the capabilities of the platform, as well as possibly tutorials and whatnot to teach people how to use it, and you would need to modify language instruction sets to accomplish such a task, so there is no confusion on how to use functions or operators or whatever, oh and finally, you would need to cut low level system interaction in languages as well, then you would be essentialy rewriting Java as it was initialy defined, and once you have done that, you also wanted this to be for multiple languages, so, good luck.... dont mean to discourage anyone from doing this, just bringing you the cold, deep down reality...
----------------
Microsoft, the leader in using innovative tactics to promote irksome experience, coupled with antiquated technology that's held together by a pyramid of makeshift afterthoughts.
Apple, the leader in using irksome tactics to promote innovative experience, coupled with an antiquated core that's enhanced by state-of-the-art afterthoughts.
Linux, the leader in not using any tactics to promote user-defined experience, coupled with state-of-the-art core enhanced by innovative afterthoughts.

|
|
02-23-2006
|
#10 (permalink)
|
|
Doing the Impossible
Location: Madison, OH (when not in fantasy land)
|
Not Ranked
:
+0 / -0
0 score
Re: Developer Woes: Quirks of Programming Languages
It would have to be a simple set of commands in the beginning. That would allow you to start it. Then you could add more functionality later.
Bill
----------------
aka TheBigDog - Hypography Full Freaking Moderator
Become a Hypography sponsor!
The truth is incontravertible; malice may attack it, ignorance may deride it, but in the end there it is. - Winston Churchill
TheBigDog's recommended reading: The Science of Success - Charles G. Koch
A neutron goes into a bar and asks the bartender, "How much for a beer?"
The bartender replies, "For you, no charge."
|
|
 |
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
|
» Advertisement |
|
|
|