As an Informatics PhD candidate myself with a HCI focus, I don't think users are ever dumb. They are just better at other things by their past experiences and have different world views from system designers. It's just the dumb programmers who dismiss what they don't understand about human cognition that find them dumb. It's a cop out by saying it's not their fault for not creating a usable system.
As a physician myself, I see brilliant experts in their respective fields make what can be regarded as silly mistakes with computers if I put my geek hat on. But when you carefully interview and observe why they took that decision path, the results always make sense.
It is really hard to put yourself in the user's mindset without all the assumptions that come with experience with developing systems.
1.) I don't know how secure Gizmo is just as I don't know how secure Skype is. 2.) I don't care either. Can you show me one single case where some crook in real life intercepted a voice stream and profited from it or caused harm? If yes, how common are they? I am not going to get hung up on hypothetical possibilities. 3.) If you have special security needs there are VoIP software that allow you to control security. SpeakFreely is one such. Opensource too.
In some respects, they are better than Skype. Cheaper calls within US. Standards complaint (SIP) - which means you can plug in third party hardware to hook up your normal phone (can be cheaper than Vonage at some usage rates). Software looks better and does not force itself to startup. Probably does not abuse your bandwidth either like Skype.
On the other hand, Overseas calls are slightly more expensive as is call-in.
On contrary, torry.net, Delphi Super Page etc are one of the best visual component repositories out there for any Visual IDE based framework. Show me an equivalent for MFC, Java or.NET. Nothing ever even came close.
>> everyone use Active(perl,python) raise your hand. i don't see many hands.
Sure you would. If you wait for others to respond. I have been using ActivePython for over 4 years now. They should have a fine service model. Large corporations would be glad to license support if they develop software over these tools. And unlike JBoss, ActiveState does not need to develop to the same extent. They spend less money, may make make money only proportional to that. But to dismiss that is too early. Dynamic Languages are only begining to get accepted into the enterprise. They should be prepared well by the time the market is ripe.
None of us write our software (decent sized ones, that is) right the first time. Python is more agile than C++. Once the code structure is evident it is very easy to write it in any other language. I take less time to write some code in Python and later convert it to Java than do it from the scratch in Java, especially when the requirements are not all clear and not much can be done about it. Of course, you don't need to replace everything. Just the performance critical portions if at all when using C++ (or just jython in case of Java).
Nah! He is just trying to tell everybody all the languages he has heard of. Too bad he does not understand the difference between a language and framework.
Yes! I get your drift now:-). My bad. I agree with your point, that this can be confusing for a *newbie* (I think I had those experiences in BASIC and Python does not help here either) though rarely for an experienced programmer.
When that happens, I usually paste it into an RTF editor first and then to my regular editor. But I will have to concede that it is an occational effort, although it is a price I am gladly willing to pay.
I think you are confusing "strongly typed languages vs weakly typed languages" and "statically typed languages vs dynamically typed languages". Python is strongly, dynamically typed language. Your arguments apply to languages like early BASIC which are weakly typed with type coersion. Python clearly states you can't use one variable in place of another by raising an exception. However that cannot be detected by an IDE usually. Even for statically typed languages, not that many have IDEs that can put that wiggly line for you, just for the very popular ones (C#, Java etc).
From personal experience, I never had any of these problems while using Python. However, I used to in my BASIC days.
1.) Python's pre-cursor was ABC, a language for teaching kids to program. 2.) Guido specifically targets Python this way as a general purpose language for everybody. (http://www.python.org/doc/essays/cp4e.html)
This means Python devs debate a lot before adding any new feature that may not be completly consistant with the whole design of the language.
I learned Python quite late and would not speak from experience about use as a first language but you may try these tutorials and see if you find them friendly.
How naive! The whole point of Mono is that it offers so much beyond what Java offers (I have no interest in listing all the additional features. You can do a Google search yourself) and yes, Mono apps run everywhere (don't get confused with.NET and Visual Studio here. Develop with Mono/GTK# and you have just as much portability as with Java).
>> I suppose I was in a hurry when I dropped that comment, and didn't expand on it much. But seriously, this is supposed to be a geek-oriented website - I would expect most readers had thought about the issue enough to know what I meant.
The problem isn't me not being geeky anough to understand your comment. The problem was the lack of presentation of flow of logic from parent's comment to yours, especially when the parent presented it as an advantage and you as a disadvantage and implied the arguments were in agreement. Being in a hurry explains it better.
>> They ARE, between the two of them at least, unique in that they provide a lot of functionality far beyond a simple GUI toolkit, and they do it across all the popular platforms.
wxWindows goes beyond being just a GUI toolkit.
>> Yes, gui toolkits there are a'plenty, but GUI toolkits that work on all the major platforms and provide the kind of 'desktop' infrastructure access are not.
No they are. Toolkits don't provide the desktop infrastructure. You build it on top of them. Qt - KDE GTK - Gnome, IceWM Fox - FoX Desktop FLTK - EDE
>> Now given this, the only real purpose that could be served by releasing GTK under the Lesser GPL instead of the Greater, is to undercut TrollTechs ability to sell those proprietary licenses, and thus to continue as a profitable business supporting free software. Not a goal I want to support, and not one I can see a reason for anyone outside of the dark side to support, really.
I have been using cross platform GUI toolkits for about 5 years now. The very reasons why GTK became popularized were the licensing issues with Qt. Qt's adoptation of GPL is very recent in it's long history and when I was evaluating GUI toolkits, Qt simply gave no choice. My clients among other platforms had to run on MS Windows. There wasn't a Qt/GPL for Windows then. So I went with GTK, wxWindows, Fox and FLTK not to mention TkInter.
GTK (And why single out GTK. That applies to other toolkits as well) never tried to hurt Qt. It did something that TrollTech refused to do for a long time (and I am sure they had their business reasons). There is nothing 'dark side' about GTK's licensing and you will find that FSF agrees.
Parent says... You can't use Qt if your application does not happen to be GPL, but with GTK you can.
You say... Yet another reason to shun GTK. As if more were needed.
I say... Uh?
You point to... " Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Library GPL in certain cases. The most common case is when a free library's features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Library GPL for that library.
This is why we used the Library GPL for the GNU C library. After all, there are plenty of other C libraries; using the GPL for ours would have driven proprietary software developers to use another--no problem for them, only for us.
However, when a library provides a significant unique capability, like GNU Readline, that's a horse of a different color. The Readline library implements input editing and history for interactive programs, and that's a facility not generally available elsewhere. Releasing it under the GPL and limiting its use to free programs gives our community a real boost. At least one application program is free software today specifically because that was necessary for using Readline. "
Now me says... I was somehow supposed to figure that was on your mind?
Now back to the article... Qt and GTK are not unique. GUI functionality is available from other sources. So according to RMS, LGPL is better for them rather than GPL. And GTK is LGPL. Now care to explain why that is reason to *shun* GTK?
>> it takes like 10 lines to write something that would take about 3 in C/C++
That fits a description of "not easy". Especially when C/C++ aren't exactly known to be easy either.
Just curious, which high level language do you consider difficult than Java?
Re:Loving complexity for complexity's sake
on
Ruby Off the Rails
·
· Score: 1
Reducing complexity is not ignoring complexity. What worries me is adding more complexity in the guise of managing complexity.
Your's and my experiences differ. I favor the first approach because...
1.) Only a small portion of applications outlive their lifecycles. 2.) When extended use becomes evident, it's time to redesign the application because the requirements have changed. 3.) Application redesign is not a bad thing. The previous version provides insights that simply cannot be gained by attempts to pre-plan everything.
I always consider avoiding injecting this requirement into application development process too early. Extensibility does not come for free and to succeed requires a through understanding of the problem domain, a luxury that most projects do not have. It is important to not solve problems that have not appeared yet because too often they get in the way of problem that do need to get solved immediately.
System.Windows.Forms is not a language.
Seems more like Portable HTML Help from Windows rather than PDF. Maybe they should focus on that.
As an Informatics PhD candidate myself with a HCI focus, I don't think users are ever dumb. They are just better at other things by their past experiences and have different world views from system designers. It's just the dumb programmers who dismiss what they don't understand about human cognition that find them dumb. It's a cop out by saying it's not their fault for not creating a usable system.
As a physician myself, I see brilliant experts in their respective fields make what can be regarded as silly mistakes with computers if I put my geek hat on. But when you carefully interview and observe why they took that decision path, the results always make sense.
It is really hard to put yourself in the user's mindset without all the assumptions that come with experience with developing systems.
That's the official name for it. Universities have been offering courses in it as part of HCI (Human Computer Interactions) for a while now.
1.) I don't know how secure Gizmo is just as I don't know how secure Skype is.
2.) I don't care either. Can you show me one single case where some crook in real life intercepted a voice stream and profited from it or caused harm? If yes, how common are they? I am not going to get hung up on hypothetical possibilities.
3.) If you have special security needs there are VoIP software that allow you to control security. SpeakFreely is one such. Opensource too.
http://www.gizmoproject.com/
In some respects, they are better than Skype.
Cheaper calls within US. Standards complaint (SIP) - which means you can plug in third party hardware to hook up your normal phone (can be cheaper than Vonage at some usage rates). Software looks better and does not force itself to startup. Probably does not abuse your bandwidth either like Skype.
On the other hand,
Overseas calls are slightly more expensive as is call-in.
On contrary, torry.net, Delphi Super Page etc are one of the best visual component repositories out there for any Visual IDE based framework. Show me an equivalent for MFC, Java or .NET. Nothing ever even came close.
>> everyone use Active(perl,python) raise your hand. i don't see many hands.
Sure you would. If you wait for others to respond. I have been using ActivePython for over 4 years now. They should have a fine service model. Large corporations would be glad to license support if they develop software over these tools. And unlike JBoss, ActiveState does not need to develop to the same extent. They spend less money, may make make money only proportional to that. But to dismiss that is too early. Dynamic Languages are only begining to get accepted into the enterprise. They should be prepared well by the time the market is ripe.
None of us write our software (decent sized ones, that is) right the first time. Python is more agile than C++. Once the code structure is evident it is very easy to write it in any other language. I take less time to write some code in Python and later convert it to Java than do it from the scratch in Java, especially when the requirements are not all clear and not much can be done about it. Of course, you don't need to replace everything. Just the performance critical portions if at all when using C++ (or just jython in case of Java).
I use Firefox. I have ieview installed for when a site does not work properly in FireFox. It's not that rare that I have to use it.
A followup.
There are static analyzers for Python that track these errors.
PyChecker
PyLint
Nah! He is just trying to tell everybody all the languages he has heard of. Too bad he does not understand the difference between a language and framework.
Yes! I get your drift now :-). My bad.
I agree with your point, that this can be confusing for a *newbie* (I think I had those experiences in BASIC and Python does not help here either) though rarely for an experienced programmer.
When that happens, I usually paste it into an RTF editor first and then to my regular editor. But I will have to concede that it is an occational effort, although it is a price I am gladly willing to pay.
I think you are confusing "strongly typed languages vs weakly typed languages" and "statically typed languages vs dynamically typed languages". Python is strongly, dynamically typed language. Your arguments apply to languages like early BASIC which are weakly typed with type coersion. Python clearly states you can't use one variable in place of another by raising an exception. However that cannot be detected by an IDE usually. Even for statically typed languages, not that many have IDEs that can put that wiggly line for you, just for the very popular ones (C#, Java etc).
From personal experience, I never had any of these problems while using Python. However, I used to in my BASIC days.
Python would be fantastic for you.
1.) Python's pre-cursor was ABC, a language for teaching kids to program.
2.) Guido specifically targets Python this way as a general purpose language for everybody.
(http://www.python.org/doc/essays/cp4e.html)
This means Python devs debate a lot before adding any new feature that may not be completly consistant with the whole design of the language.
I learned Python quite late and would not speak from experience about use as a first language but you may try these tutorials and see if you find them friendly.
http://www.ibiblio.org/obp/thinkCSpy/
(Quite Basic, despite that name, it is not *academic*)
http://www.byteofpython.info/
(Another well written one)
How naive! The whole point of Mono is that it offers so much beyond what Java offers (I have no interest in listing all the additional features. You can do a Google search yourself) and yes, Mono apps run everywhere (don't get confused with .NET and Visual Studio here. Develop with Mono/GTK# and you have just as much portability as with Java).
Why stop there? I never buy a game without playing the demo.
>> I suppose I was in a hurry when I dropped that comment, and didn't expand on it much. But seriously, this is supposed to be a geek-oriented website - I would expect most readers had thought about the issue enough to know what I meant.
The problem isn't me not being geeky anough to understand your comment. The problem was the lack of presentation of flow of logic from parent's comment to yours, especially when the parent presented it as an advantage and you as a disadvantage and implied the arguments were in agreement. Being in a hurry explains it better.
>> They ARE, between the two of them at least, unique in that they provide a lot of functionality far beyond a simple GUI toolkit, and they do it across all the popular platforms.
wxWindows goes beyond being just a GUI toolkit.
>> Yes, gui toolkits there are a'plenty, but GUI toolkits that work on all the major platforms and provide the kind of 'desktop' infrastructure access are not.
No they are. Toolkits don't provide the desktop infrastructure. You build it on top of them.
Qt - KDE
GTK - Gnome, IceWM
Fox - FoX Desktop
FLTK - EDE
>> Now given this, the only real purpose that could be served by releasing GTK under the Lesser GPL instead of the Greater, is to undercut TrollTechs ability to sell those proprietary licenses, and thus to continue as a profitable business supporting free software. Not a goal I want to support, and not one I can see a reason for anyone outside of the dark side to support, really.
I have been using cross platform GUI toolkits for about 5 years now. The very reasons why GTK became popularized were the licensing issues with Qt. Qt's adoptation of GPL is very recent in it's long history and when I was evaluating GUI toolkits, Qt simply gave no choice. My clients among other platforms had to run on MS Windows. There wasn't a Qt/GPL for Windows then. So I went with GTK, wxWindows, Fox and FLTK not to mention TkInter.
GTK (And why single out GTK. That applies to other toolkits as well) never tried to hurt Qt. It did something that TrollTech refused to do for a long time (and I am sure they had their business reasons). There is nothing 'dark side' about GTK's licensing and you will find that FSF agrees.
Parent says...
You can't use Qt if your application does not happen to be GPL, but with GTK you can.
You say...
Yet another reason to shun GTK. As if more were needed.
I say...
Uh?
You point to...
"
Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Library GPL in certain cases. The most common case is when a free library's features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Library GPL for that library.
This is why we used the Library GPL for the GNU C library. After all, there are plenty of other C libraries; using the GPL for ours would have driven proprietary software developers to use another--no problem for them, only for us.
However, when a library provides a significant unique capability, like GNU Readline, that's a horse of a different color. The Readline library implements input editing and history for interactive programs, and that's a facility not generally available elsewhere. Releasing it under the GPL and limiting its use to free programs gives our community a real boost. At least one application program is free software today specifically because that was necessary for using Readline.
"
Now me says...
I was somehow supposed to figure that was on your mind?
Now back to the article...
Qt and GTK are not unique. GUI functionality is available from other sources. So according to RMS, LGPL is better for them rather than GPL. And GTK is LGPL. Now care to explain why that is reason to *shun* GTK?
>> it takes like 10 lines to write something that would take about 3 in C/C++
That fits a description of "not easy". Especially when C/C++ aren't exactly known to be easy either.
Just curious, which high level language do you consider difficult than Java?
Reducing complexity is not ignoring complexity. What worries me is adding more complexity in the guise of managing complexity.
...
Your's and my experiences differ. I favor the first approach because
1.) Only a small portion of applications outlive their lifecycles.
2.) When extended use becomes evident, it's time to redesign the application because the requirements have changed.
3.) Application redesign is not a bad thing. The previous version provides insights that simply cannot be gained by attempts to pre-plan everything.
I always consider avoiding injecting this requirement into application development process too early. Extensibility does not come for free and to succeed requires a through understanding of the problem domain, a luxury that most projects do not have. It is important to not solve problems that have not appeared yet because too often they get in the way of problem that do need to get solved immediately.
Uh! Did you even read the parent post?
These idiots...
n dex.html= /library/en-us/dnsql90/html/sql2k5xmloptions.asp
Oracle
http://www.oracle.com/technology/tech/xml/xmldb/i
Microsoft
http://msdn.microsoft.com/library/default.asp?url
you know, the ones that sell the most databases today. Not to mention just about every other successful commerically sold database.
>> stupid 2 teh maxx0rz
Very cogent and convincing.
Popular languages
-> better implementations
-> more libraries
But
-> evolution slow as molasses