Domain: dedasys.com
Stories and comments across the archive that link to dedasys.com.
Comments · 32
-
Re:Best Tool for the Job
Just to bolster my point, David Welton explains why a toolbox may be a better metaphor.
-
Re:What is this, another FUD article?!
I thought the whole point of Open Source was doing good for mankind in general, not categorically for the investors...
Ok, but even so, you have to make it sustainable, and how to do so is still an open question.
There's no doubt in my mind that open source works, and works well. It has produced some great things, but I think we're still figuring out exactly how it works in terms of the economics. Proprietary software is certainly simpler:
1) Write product.
2) People buy it.
3) Profit!
4) Improve product, hire developers, etc..
Or:
2) No one buys it.
3) Go out of business, product goes away.
With open source, things are different... You could create something great, and there's no guarantee at all that you'll get anything back for it. In practice, people don't seem to get screwed that badly, but it's not as tight a feedback loop.
I wrote some more about this several months ago:
http://journal.dedasys.com/articles/2007/02/03/in- thrall-to-scarcity -
Re:Whatever
It's not really a major player.
Reference 1. Reference 2.
Java is a major player. C is a major player. .NET, maybe in a few more years, but I doubt it. They will have to do something truly innovative.
Today, .NET is marketing hype - and as I said, that hype is now getting tired.
My judgment that it's dead-end isn't really so pejorative. It goes for just about everything like it that isn't truly open. I say the same for VB, though they add features to it every year. Sure, MS would be crazy to drop .NET. Right? Never happen. It sounds familiar because the VB guys said the same thing. Look what happened to them.
The landscape is littered with the graves of proprietary systems like these. Most languages we use widely today are truly open. These days the world is finally learning you have to be crazy to hitch your wagon to a single vendor, let alone the world's most notorious. Who wants to have their platform supported only at the pleasure of the king? And you don't have to.
If Microsoft wanted to beat the crap out of Java all they'd need to do would be to put down the patent gun, open up their sources, and let .NET embrace cross platform. They could perhaps out-Java Java.
We both know very well they wont. It's because .NET is not designed to win the language wars or be the best language. It is designed to stop the bleeding from developers breaking out of MS's jail, by providing a new way of locking developers (and their code) into the proprietary Microsoft platform. -
Re:Whatever
"C# sucks, pure and simple. Java is a JOY compared to C#. And yeah, I program in C# at work 90% of the time. If Java would have made it here sooner they would have chosen that language for sure."
See how easy it is to spout off nonsense?
So, do you have anything concrete to say - something I could learn how right you are from? I'll give you some examples.
Here, I'll do some of your work for you. That's a comprehensive, balanced comparison of the language features.
Here and here are some measures by which you can measure the relative popularity of programming languages, the availability of jobs, etc.
Think about your career, man.
And, next time, at least link some MS marketing materials or something. -
"Stuff To Do"
I am putting together a time tracking system that is free for basic use and comes with a one month trial for the group use features. It's available here:
http://stufftodo.dedasys.com/
It's very simple and straightforward - what it has going for it is that all you have to do is tell it what you're working on via drag and drop, and it keeps track of how long you've been active on the project. Of course, this makes it most suitable for people who are at their computers most of the day, but I guess you can't be everything to everyone.
It is still beta-ish, so pricing is open to negotiation and feature requests are welcome. -
Re:Perfect Market vs. Real World
Good points. Also, while I don't think the question is about outsourced hosting at the cheap end like I discuss, keep in mind that there is something of a "market for lemons" effect:
http://dedasys.com/articles/webhosting_market_lemo ns.html -
Hecl
Hecl: http://www.hecl.org/
it is perhaps less general-purpose than the poster might want, but I have different design considerations in mind:
Small, flexible, very dynamic, and concise - in other words, I want it to be a complement to Java, rather than simply a scriptable Java, ala Beanshell. This means that perhaps you wouldn't want to write the entire app in Hecl, but on the other hand, as a language to write quick extensions with, perhaps it's a bit faster/easier to work with.
The most interesting feature at this point is that Hecl is small enough to run on Java-enabled cell phones, even pretty basic ones like my Nokia 3100, which only accepts Java stuff - no symbian. This means that you can code apps with no recompiling, and also make them very dynamic (you could make an app that downloads code, stores it and runs it as needs be).
Also, for the folks who like this stuff, Hecl is still young, so there's lots of room to fiddle with the language itself, and learn about how a scripting language is built.
Astute observers will note that Hecl is similar to Jacl, but like the poster complaining about Jython getting a little bit out of date... it always seemed like a bit of a losing proposition to me to do a copy of a language in Java, because you miss out, if nothing else, on a *lot* of libraries, and the JRuby/Python/Tcl implementations have always seemed to be playing catch-up. -
A scripting language, Hecl
In a bit of blatant self promotion...
The Hecl Programming Language: http://www.hecl.org/
It's an open source scripting language that's compact enough to run on cell phones. If you're the adventurous/hacker type, it's still in the early stages of development, but is far along enough to write real apps, such as this shopping list system:
http://www.dedasys.com/shopping_list/
It's a great time to get involved in the project because it's in its early stages, and there is a lot of fun to be had! -
You might have a long wait
You might have a long wait if you wait for "the current gods to be superceded"... you could still be happily employed as a Cobol programmer thinking in those terms. Which isn't a bad thing, but it's not my cup of tea.
Due to the economics of programming languages, once something (Cobol, C++, Java) gets entrenched, it's just not going to disappear overnight.
Something like Ruby on Rails will see its market share grow primarily for new projects, where, if it is successful, it will comprise a larger and larger portion of them over time. Cobol isn't gone, but you don't see many brand new projects launched in it.
And, let's face it, it's very new, so of course you're not going to see banks running on it right now... duh:-) -
Widely used languages don't die quickly
Perhaps C++ has passed its apex, but programming languages do not die quickly. Fortran and Lisp are from, what, the 1950's? Cobol? Still with us. If it's in widespread use, it won't die quickly. I discuss this some in an article on the economics of programming languages:
http://www.dedasys.com/articles/programming_langua ge_economics.html
( although my hosting provider's network seems to be running a bit slow:-/ ) -
Exactly - web hosting is a "market for lemons"
I wrote about the economics (as I understand them) of the market for web hosting, and why it's a market with problems:
http://www.dedasys.com/articles/webhosting_market_ lemons.html
In short, you're right - anyone can get set up, and it's difficult to tell which ones are any good before signing up! -
Re:More features - is that what C++ really needs?For business applications Python, Ruby, PHP, Java, C# and others are not zippy-fast but they make perfect sense in terms of productivity.
Try Dylan? For fun I checked Dice.com to see how many job postings are listed for different languages.
Java..12,781
C++....6,701
C#.....3,657
PHP......682
Python...491
Ruby......59
Dylan......0
Most of the C++ jobs required someone with Java or C# skills too. Draw your own conclusions.
I wasn't very scientific in my search but this guy put a lot of work into it. -
Re:Java.
Wow.
I think you win an award.
In some paragraphs you have an egregious error in almost every sentence.
Sun can do this to an even greater extent, since they control who is allowed to implement VMs.
No, they do not. They control who can call their Java VM's "Java compliant."
Their standards are 100% proprietary and closely controlled.
No, they are not "closely controlled" - they collaborate extensively through the JCP, and indeed much of Java 5 was defined that way. OS developers like the Apache Group are behind many of the new parts of the spec...
They also protect themselves with patents.
Which their license explicitly grants you the use of, when implementing JVMs...
Microsoft actually has open standards
Unlike MS, who has the option of potentially GPL-incompatible RAND licensing for C# and the CLR, and doesn't standardize the rest of .NET APIs at all... what are you smoking, really?
You are basically saying you can take your .NET app to some other server? Or ever will be able to, at some point in the future? Lies this obvious just make you look foolish.
Sun is in a much better position to lock Java down and prevent people from using it.
So as you can see, this is wrong.
Same with C#.
Except all those class not found errors.... Oops, your API didn't come with you... I guess you don't mind rewriting everything?
Sort of like Sun's constantly changing GUI APIs which become very popular then have support for them dropped, right?
What are you smoking? Seriously? No APIs have been dropped yet. They have added new, never removed the old...
Like COBOL and Fortran, right?
I notice you ignored the point about the spec and the standard and the VM. Not surprising.
C#/.NET is also well specified and even more unencumbered.
So you are aware this is a blatant lie, right?
Oh it's OK. Just point me to the other vendor that implements .NET. Not C#, not the CLR. .NET... Oh wait, you can't! Bzzzzzzzzzzzzt.
And Sun's VM is not open source
Poor reading comprehension. The source is available. Not the same as open source. As I pointed out, it is not FSF or OSI compliant.
GNU classpath implementations have only recently come to a half-decent level of completeness.
The compiler and VM are done for some time. They are doing the entire API, and that is also pretty far along now. Mono is nowhere near this, and you probably even know it.
Hell, even commercial alternatives to Java's tend to be a pain to set up and suck donkey balls.
I had no problem with IBM's system. Actually I didn't have too much trouble with BEA's either. Perhaps you're just bad at it?
What's that thing called? Oh yeah, evidence. When you make bold claims, you better back them up.
I don't think you would recognize evidence if a worm delivered it to your IIS server's homepage. You've certainly overlooked everything I've provided thus far.
Let's see these numbers then. Evidence.
Duh OK. The fact that you don't already know this, though, is by itself basically proof that you're an ignorant fanboy kid who likes to shoot their mouth off without having any idea what you're saying... If you did, you would try to change the subject rather than dig your hole this much deeper: Reference 1. Reference 2.
Unsafe code mixing is RARE and requires you specifically telling the compiler to allow it. But hey, don't let things like facts get in your way.
You say "RARE" and make a childish insult. However I point to Microsoft promoting the practice -
Re:Java.
Microsoft would be absolutely insane to even think about dropping
.NET
Just like they'd be crazy to break backwards compatibility with VB?
What, pray tell, is encumbering about C#? It's almost exactly like Java.
I don't get it. Why does nobody understand this?
Java is a language, and a runtime, and an API.
The standardized portions of .NET are the language and the runtime.
Notice the critical missing piece?
What do you think happens when you want to leave MS?
I can just picture the post now. "Hey ECMA said it's a standard but strangely when I tried to leave MS I got all these errors about missing classes? I don't understand."
You didn't write an app to add numbers forever without doing input or output. You wrote an actual app that uses the API. And now you can't leave. You are locked in.
What do you think MS does when they've got you locked in? What they always do. What any vendor that gets you locked in does. They bend you over a barrel.
You will be stuck watching Java people migrate from machine to machine, OS to OS, VM to VM, App Server to App Server... taking advantage of actual marketplaces full of innovation and competition... while you stagnate in MS's walled garden.
What numbers are you looking at? In Dallas at least, there is extremely high demand for C#/.NET developers.
I never refuse to provide sources, but I can't believe you have the audacity to ask me this.
Have you even picked up a newspaper?
The picture is abundantly clear... I doubt it's even that different in Dallas (although it's possible I suppose)...
(Reference 1) (Reference 2)
Unsafe code is rarely used throughout the actual framework itself, but when it is, it's primary purpose is performance.
I've already produced references for others to prove Microsoft itself actively promotes the use of interop and unmanaged code.
Of course, people may recognize that it's a bad feature and not use it... Not exactly a badge of honor for .NET though.
I've already made my rather obvious point about why this is bad... now you have the same loss of guarantees and stability of native, with all the overhead of the VM... so this begs the question...
I suppose that they should have bit the bullet and used a slower method, so you could complain about performance instead? ...why use the VM?
the runtime can, theoretically, support any language
Theoretically has nothing to do with practicality; if you read me, I am speaking about performance. I have no doubt you can shoehorn a shitty implementation of anything you want onto CLR or the JVM for that matter...
Not surprisingly, people are more interested in optimizing C code.
So you apparently concede the point that CLR is not as flexible in terms of practical support for other languages that significantly different from C/C++/Java as its proponents sometimes claim...?
Which is unfortunate, I've had occasion to want to use Mono, and I'd love to run ASP.NET 2.0 code on a linux box (I still think Apache > IIS).
It comes down to pure, hardboiled obstinancy.
If Microsoft wanted to beat the crap out of Java all they'd need to do would be to put down the patent gun, open up their sources, and let .NET embrace cross platform. They could perhaps out-Java Java.
We both know very well they wont. It's because .NET is not designed to win the language wars or be the best language. It is designed to stop the bleeding from developers breaking out of MS's jail, by providing a new way of locking developers (and their code) into the proprietary Microsoft platform. -
I still don't really get Flickr
I put my photos up on the web, and give each one a description. For instance:
http://www.dedasys.com/photos/padova_inverno/
and you know what? People can find them just fine with google or google image search. And I get the adsense revenue myself. It's not much - maybe enough for a pizza for my wife and I every now and then, but hey, I'm not complaining.
So... what's so "fantastc abot Flickr"? Sure, it's nice for those who don't have their own web hosting space... I'm not trying to say it's bad, but I don't get the hype. -
"Extreme Scales" ?
That link doesn't work.
In any case, the tools that impress me most are those that scale up, but scale down as well too. Google has the money and the brains to make anything work, more or less. What's more impressive to me is technology that lets Joe Schmoe get things up and running easily, and then still scale up reasonably well. I wrote a bit about it here: http://www.dedasys.com/articles/scalable_systems.h tml. Java scores just a bit better on this front than C and C++, because of the big standard library and GC, but it's a long way from perfect, and not as good, IMO, as scripting languages. -
The code is nice
A couple of years ago, I was doing some hacking with the eCos embedded operating system and decided that I wanted to load data off the floppy before running the application, and so needed a floppy driver. Of course, I looked at Linux and BSD systems first, but they had big, hairy drivers. To be fair this is true partially because they try and support all kinds of weird hardware, but they also contain calls into lots of other parts of the system. On a whim, I got out my minix book, looked at the source code, and found the port was a lot easier, and finished it up in a few days (at least reading, I didn't need to write). In any case, the results are here:
"Scivoli": http://www.dedasys.com/freesoftware/ecos.html
and an article (in Italian): http://www.dedasys.com/articles/ecos.html -
The code is nice
A couple of years ago, I was doing some hacking with the eCos embedded operating system and decided that I wanted to load data off the floppy before running the application, and so needed a floppy driver. Of course, I looked at Linux and BSD systems first, but they had big, hairy drivers. To be fair this is true partially because they try and support all kinds of weird hardware, but they also contain calls into lots of other parts of the system. On a whim, I got out my minix book, looked at the source code, and found the port was a lot easier, and finished it up in a few days (at least reading, I didn't need to write). In any case, the results are here:
"Scivoli": http://www.dedasys.com/freesoftware/ecos.html
and an article (in Italian): http://www.dedasys.com/articles/ecos.html -
What to teach about open source
I do a bit of consulting work that could be termed "open source strategy", and while it's aimed at business types who need/want to better understand the world of free software, a lot of it would be applicable to a course like this.
The first big decision you have to make of course, is whether there will be a "hands on" component where people learn about actual technologies that are popular in the open source world. In that case, I would get them going with Ubuntu, show them some popular systems like Apache and Postgresql, then some programming with C and a scripting language or two (Tcl and Python, perhaps), and autotools.
The most important part of this course would be, as others have stated, concentrated on what makes open source open source.
* Philosophy.
* Licensing and its practical applications (what code can I use? in what projects?)
* Economics - how do people do this and not starve?!
* Community - this is probably the most important one, and it draws on the other points. What kinds of open source communities are there already (FSF, ASF, various *BSD's, etc...), what makes them different? What are their motivations? How can you interact with them? How to build a strong community for your own open source efforts?
* Case studies. Linux, Apache, and the other big ones, but also some smaller, successful projects that are not such statistical outliers. Most people are not going to write the next Linux or Apache, but that doesn't mean they can't have a healthy, successful open source project.
I'm kind of envious - I think it would be a lot of fun to teach a course like that! -
Scaling up, and scaling down
Ok, so some of these tools are not suitable for running Amazon. But guess what - most people are not running Amazon! A lot of people don't have the development resources that amazon has, either, so what they are really looking for is a sweet spot that lets them get going quickly, and will grow within reason.
I'm still mulling it over and working on it, but I talk some about "scaling down" in this article:
http://dedasys.com/articles/scalable_systems.html
You're right of course that you don't want stuff that falls over the first time traffic spikes a bit, but you absolutely must have something that you can use to produce a functional product. You can have the fanciest, most scalable system out there, but if you spend two months twiddling with XML config files, things just aren't going to work out. -
Depending on stuff you don't control
The real problem is more of an ethical one than something legal. Of course, you can link. No problem. But it was stupid to do without making some kind of agreement with the game's author. I'm sure if they'd asked, he would have been happy to make a deal with them. Since they didn't, they learned a lesson about just including other people's content willy-nilly. Imagine the damage to their image had he used some really filthy image - that's a big risk to take.
I regularly get people including my photos ( http://www.dedasys.com/photos/ ) inline without so much as a thanks or credit. If they ask, I almost always say "sure, go ahead!". I don't use nasty pictures, but do redirect the abusers to a "thanks for your interest in my pictures, they are online at .... " jpeg. -
"Scripting" language
Java might be ok for some people - I think that's what AP Comp Sci classes use. However it has a few drawbacks:
1) It doesn't "scale down" as well as languages like Python, Ruby, Tcl etc... So might not be as well suited for those who aren't as interested/motivated/quick on the uptake.
2) It's kind of dubious, IMO, to be promoting a product of one company.
In any case, that would leave us with the scripting languages, which I think are all worth considering for different reasons, and all have in common a faster, easier development cycle with no need to recompile each time.
Python: clear, easy to read, and very general purpose. Good introduction to OO without beating you over the head with it or forcing you to adapt to it from day 1.
Tcl: because of the interesting introspection that it has and uses for certain common programming tasks, I'm not sure it's the best to start with, but on the other hand, being able to create something *visible* on the screen with a few lines of code is pretty gratifying, especially for a beginner. (Python has Tkinter which is pretty good too, but slightly more complex to start with than regular old Tk).
Ruby also seems like a good, reasonably generic language - I don't know it as well, but from a casual glance, don't like the (willful) resemblance to Perl in terms of the syntax. But I think you could do a lot worse - you'd certainly have some advanced concepts available to teach with it.
If you teach them PHP, you're going to be teaching them web programming, basically. I'd stick to a more general purpose language (you can use PHP for general purpose tasks, but it's still really oriented towards the web).
On the other hand, if you've got bright kids and are willing to explore something interesting, you might try languages like Smalltalk or Scheme, that introduce some really interesting ideas. -
Erlang
I used Erlang professionally some, and liked it, but I have some doubts as well. It did not make me 10 times more productive, nor my code error free. It was not quite as good as a "scripting language" in terms of productivity, I felt, although it runs quite quickly, and like the concurrency model a lot.
In any case, I was left with a feeling of "yeah, I like this and would use it again, but it's not something that is going to wipe the floor with older models".
Also, I have some doubts as to how much FP "Scales Down" in the sense that it initially confuses people who are used to "normal" languages. I think perhaps FP might be more successful if someone were to take a more bottom up approach - let it "escape from the ivory tower". Languages like Erlang are doing this already, and of course people will be able to provide links to this or that Haskell or ML system used commercially, but to really make inroads, you've got to bridge the gap...
Just some musings. -
What is C++'s popularity?
I know that's a relatively intangible question to quantify but I did find a survey that lists different programming languages used in the workplace. Seems as if C++ definitely isn't dying just yet. I found another seemingly google-based article on the popularity of various programming languages. Sure Java and C# are up there with PHP thrown in as well, but C++ still has lots of current uses. Seeing I am hooked on Ruby in my workplace I am one of the few according to all of these figures
:-) -
PHP "Scales Down"
What you are missing is that it takes more to do Java. More resources, more knowledge, more expertise. You may have those things, but many more do not.
I wrote up some of my thoughts on the issue here:
http://dedasys.com/articles/scalable_systems.html
-
Re:Multi-language approaches
It depends on the project of course, but my experience is that scripting languages are always going to "scale down" better than c++, and so will be able to more quickly bring something functional on line.
You are of course correct that learning the scripting language and the low level language isn't free, but learning the scripting language is within reach of more people, and for someone who knows the low level language, the scripting language might take longer than a week, but won't be that hard. -
Try them out
Sometimes, with complex regexp's, it's handy to be able to build them incrementally. I know it's just one of many, but I wrote a little tool that's handy for this. It's called regexpviewer, and it's available here:
http://www.dedasys.com/freesoftware/applications.h tml
Perhaps other people can recommend other tools they've found useful for learning/building regular expressions. -
Java doesn't "scale down"
I wrote a brief article on systems that scale down, with programming languages in mind. You are correct that all the Java baggage comes into its own when you start writing larger programs, but for beginners, or people just wanting to whip something together, it is baggage.
http://dedasys.com/articles/scalable_systems.html -
Hecl
Very much a work in progress, but I've written a scripting language called Hecl in Java. It is small enough (40k at the moment) to run on my Nokia 3100, which isn't a Symbian phone.
-
Re:Welcome to...
I am from the US and live in Italy, and can confirm. I have some stories about it here: http://www.dedasys.com/padovachronicles/
You, as an American, Canadian, Australian, Japanese or whatever... are the equivalent of migrant worker here to pick tomatoes, even if you have a degree, even if you have no intention of being a burden on the social system. Of course, the US is really lame too. A friend's brother was supposed to go work for nVidia, who wanted to hire him and pay him a lot of money, but since he had no degree yet, nothing doing, it was not possible.
Your best bet is to come spend some time and see if you can find a job, because no one is going to hire you from afar. Then you will have to go back to the US and wait months for your permit.
In reality, where does this leave you? You need to just live here illegally and be done with it. Italy has so many laws on the books that no one really pays attention to them anymore. Heck, the prime minister is on trial for bribing judges and people still vote for him.
The big, big *however* is that you wouldn't get so bitter if it were not such a wonderful place. In some ways it's so much nicer than in the US. I went out for a drink with my friends this evening. No being carded (how stupid is that - you have to be 21 to drink a glass of alcohol, even though you can go to iraq and drive a tank at 18?!), not having any problems being in the piazza with a glass of alcohol. And there is a stunning variety - we went up to Bolzano for their 'Linux Day' last weekend, up in the middle of the stunningly beautiful dolomites. Then you have Rome, Florence, Venice (I live a half hour from Venice), and so many beautiful small towns that are what I really prefer to the large tourist centers.
Anyway... I don't know. Spain is doing better than Italy right now. Its politicians are more credible, and seem serious about fixing problems rather than just bickering. The food isn't as good as in Italy, but it's still a beautiful country as well, and who knows, maybe they treat foreigners less like dirt - "curious.com" is right that even renting an appartment will be difficult. Many people don't want to rent to a 'suspicious' foreigner, or really even people from another region of Italy.
On the other hand, I wouldn't complain if I didn't love it, I would just leave. But my life is here, including my fiancee`... -
Now announcing commercial support for ls, du, df
Hi,
DedaSys is proud to announce our exclusive commercial support program for the ls, du, and df utilities.
These time-tested tools just got better with the backing of a consulting and training organization that can adapt them to your enterprise disk management needs.
But wait, that's not all, order now and you'll receive documentation for all three at *no extra charge*.
http://dedasys.com/
-
eCos use, "abandonware", etc....
First of all, let's say this loud and clear:
eCos is not abandonware!
Development has continued throughout the project's life. I think the only thing that was in question was who the code actually belonged to. It's always been GPL'ed.
As to what it's used for, I don't know about commercially, but I've used it for a couple of fun/learning projects: "Scivoli" - a bootable floppy image that loads jpegs from the floppy and displays the to the screen, and "ZOG", which is the ficl forth interpreter layered on top of eCos. Neither one makes much claim to being all that useful, but Scivoli especially shows off how small the OS and display code is (about 130K without much effort at all to reduce it). It would be difficult to squeeze Linux onto a floppy with a bunch of images like I have done. Both are available from http://dedasys.com/freesoftware.
eCos is fun for those learning about OS's because it's well written code, modular, and small enough that it's easier to get a handle on than Linux.