My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement
Automatic download of libraries and packages
I'd like to see automatic downloads of libraries/packages from IDEs.

The idea came to me a couple of weeks ago on twitter.

What if our programming environment automatically checked for libraries?

Suppose I decide I want to use ActiveRecord, but I don't have it installed on my system. Wouldn't it be nice to just type

class entity < ActiveRecord
...
end

and have IntelliJ IDEA (or Notepad++ or SciTE or Emacs or ...) just download it for me?

I need an MP3 library. Instead of seeing that there's no file to load, wouldn't it be great if the editor tried to find it?

No such file to load.

All that needs to happen is that we have an index that checks for includes and references. If it doesn't find it in the standard library or any installed libraries, it goes to the index to find possible matches. If there's only one, it downloads it and continues. If more than one exists, it might ask you which one you want to download and include.

This isn't limited to Ruby. In fact, I'd love it more in Java and .NET. I can't count the number of times on those platforms where I've looked up how to do something, only to be denied by the fact they didn't mention the appropriate package or namespace to use.

Automatic Parallel Programming
Around the same time, I also thought it would be nice to have compilers and interpreters decide when concurrency would be appropriate:

What if our runtimes automatically split into several processes when it was safe to do so?

This can get really tricky. In fact, we don't really want it to be automagical detection. There are some cases where it could happen, as far as I can tell. However, it's not worth the apprehension we'd feel if we didn't know when the compiler or interpreter was going to do so.

But there are plenty of cases where it is possible. I've been in several of them lately. Even forgetting about those -- Instead of typing the boilerplate to make it happen, I really want something almost automagic:

parallelize {
  some_op_over_most_of_a_set
  merge_parts { |part| do_something_with(part); }
}


Not all operations would require a merge operation. But overall, wouldn't it be excellent?



The first is certainly possible. The second may require some research and work.

What do you think? Pipedream, or possible? So who's in?

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

There are no comments for this entry yet.

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me

Topics
.NET (19)
AI/Machine Learning (14)
Answers To 100 Interview Questions (10)
Bioinformatics (2)
Business (1)
C and Cplusplus (6)
cfrails (22)
ColdFusion (78)
Customer Relations (15)
Databases (3)
DRY (18)
DSLs (11)
Future Tech (5)
Games (5)
Groovy/Grails (8)
Hardware (1)
IDEs (9)
Java (38)
JavaScript (4)
Linux (2)
Lisp (1)
Mac OS (4)
Management (15)
MediaServerX (1)
Miscellany (76)
OOAD (37)
Productivity (11)
Programming (168)
Programming Quotables (9)
Rails (31)
Ruby (67)
Save Your Job (58)
scriptaGulous (4)
Software Development Process (23)
TDD (41)
TDDing xorblog (6)
Tools (5)
Web Development (8)
Windows (1)
With (1)
YAGNI (10)

Resources
Agile Manifesto & Principles
Principles Of OOD
ColdFusion
CFUnit
Ruby
Ruby on Rails
JUnit



RSS 2.0: Full Post | Short Blurb
Subscribe by email:

Delivered by FeedBurner