Archive for the ‘Dev Platforms’ Category

Rails: Mapeando objetos a relaciones

Friday, February 10th, 2006

He añadido el capítulo de Mapeo de objetos a relaciones al curso de Rails. Todavia faltan dos tipos de relaciones y la parte práctica, pero como el contenido es muy útil como referencia decidí añadirlo de una vez.

Espero les guste y que demuestren su gusto haciendo click en los anuncios.

technorati tags:
,
,
,

Borland: The end of an era

Friday, February 10th, 2006

Borland announced plans to seek a buyer for the portion of its business associated with the Integrated Development Environment (IDE), including the award-winning Borland Developer Studio (Delphi®, C++Builder® and C#Builder®) and JBuilder® product lines.

Borland to Acquire Software Quality Company, Segue Software;

Announces Plan to Divest IDE Product Lines

 
I remember when they went for big enterprise and even renamed themselves "Inprise" (because "Enterprise software is where the money is"). Eventually they gave up on the idea and went back to focusing on developers.

 This time they seem to be burning the bridges and getting rid of the developer tools business altogether. Which is what gave them visibility - nobody thinks of Borland as anything other as great IDEs and tools. This time they won't be able to go back, unless the IDE product line company buys them back, or renames itself Borland when the current Borland dies.

Oh Borland, how we part ways. David Intersimone has his heartfelt take on this

Update 02/09:: Now that there's been time for some employees and ex-employees to chime in on this, let me point you to a couple of exchanges that caught my eye:

My opinion on it? Delphi will go on. It's very hard to kill off a development platform, especially one with such a strong following.

technorati tags: , , , ,

Eckel on Java vs Rails: The departure of the hyper-enthusiasts

Monday, December 19th, 2005

As always Bruce Eckel is a great read..


The Java hyper-enthusiasts have left the building, leaving a significant contingent of Java programmers behind, blinking in the bright lights without the constant drumbeat of boosterism.

But the majority of programmers, who have been relatively quiet all this time, always knew that Java is a combination of strengths and weaknesses. These folks are not left with any feelings of surprise, but instead they welcome the silence, because it's easier to think and work....

Clearly Ruby is making important contributions to the programming world. I think we're seeing the effects sooner in Python than elsewhere, but I suspect it will have an effect on Java as well, eventually, if only in the web-framework aspects. Java-on-rails might actually tempt me into creating a web app using Java again.However, I can't see Ruby, or anything other than C#, impacting the direction of the Java language, because of the way things have always happened in the Java world. And I think the direction that C# 3.0 may be too forward-thinking for Java to catch up to.

Weblogs Forum - The departure of the hyper-enthusiasts

Mainly, I think a pragmatic approach to a language is to assign value based on a) what you can accomplish with it, and b) how easy it is to write in the first place and maintain in the long run. So far Ruby is starting to become interesting on (a) - it was always interesting on (b) -, although we still have to do a lot of stuff in Java if we want to take advantage of a lot of features.

However, in Java there has been a lot of work already done to get you libraries and automated tools. I have been looking for some good IDEs for Ruby and I can't seem to find anything that is better than just using vim (I've looked, but that's another story) - Eclipse is my yardstick for comparison.

That means that I may want to switch to rails for web app development and maybe scripting, but not for any type of development where I have to apply deep pattern thinking and where I anticipate refactorings to come along as the system grows. It may be easier conceptually to do refactoring in Ruby, but that fact is superceded by the automatedness of doing it in Eclipse. It doesn't matter if it impacts a lot more files to, say change a member variable name in a domain object, in Java vs. Ruby if I can do it with Alt-R in Eclipse and in Ruby I have to go and change it manually - the masses will not switch until you give them this kind of capability.

On the other hand, I really do like the fact that you can get started in ruby from scratch in a few minutes using things like "gem install rails", vs. setting up a giant ant/java/spring/hibernate/tomcat on the java side.

technorati tags: , , , ,

Tutor de Rails en Español

Tuesday, December 13th, 2005

De mi tutor de Rails en Español:

Este curso pretende proporcionar al usuario información suficiente para hacer aplicaciones de web profesionales utilizando Ruby on Rails. Está enfocado a personas que ya sepan algo de programación en otros lenguajes, lo cual quiere decir que durante el curso haré referencia a conceptos y librerías familiares a usuarios de otros lenguajes y productos.

Tutor de Ruby on Rails

technorati tags: , , , , ,

RIFE vs Rails side by side

Tuesday, December 6th, 2005

Like many other java developers, I am currently using Spring and
Hibernate, so I can't attest to the quality of RIFE. But I thought this
was interesting: This is a side-by-side
comparison
of the RIFE source vs. the Rails source for the
same feature (Ta-da list
vs Bla bla list).
Just another thing to add to the ever-growing list of things to check
out.

Note that I don't have an opinion on this because I don't know both
toolsets (and like many others I don't sound very smart when comparing
something I know vs something I don't know). :-)

XUL Notes

Saturday, December 3rd, 2005

Firefox 1.5 has been released. As a result XUL is cool again. Having dealt with XUL in Mozilla 1.4 through 1.7, I know it has its place on medium-sized projects. It will be interesting to see what happens with this.

(more...)

I missed Mixins in Java today

Monday, November 28th, 2005

Note to Sun: I missed being able to do mixins with Java today. Maybe it's all this playing with Rails, but back in Java-land I had this particular problem and I thought - mixins would solve this. But no go. Not even with JDK 1.5.

I guess I'll just put on my monkey coder hat and add decorator scaffolding and almost-identical configuration code for 50 different classes instead. Maybe I should switch back to Spring autowire (like he Rails folks say, value convention more than configuration, right?). :-P

Yes, I know that you can do it using interfaces, but it still leaves me changing more than one line in all 50 classes. I also know that you could use some fancy AOP or dynamic proxying, and go against the GrainOfTheLanguage and end up with something that "works", but it's a pain to run through the debugger and determine basic intent.

*Sigh*

One-to-One relationships with Rails

Monday, November 28th, 2005

This is a lot easier than I thought it would be and it actually took me longer than it should have because I was trying to do it manually.

(more...)

Rip UML straight out of java

Wednesday, November 23rd, 2005

I've been playing with the idea of taking the UML straight out of java, so I can do multiplatform UML Sketching using basically plaintext .

So I went and downloaded UMLGraph and incorporated it into the my build system.

So far I like it, but I have a couple of thoughts on it.

(more...)

Using Jobs API and asyncExec

Thursday, November 17th, 2005

Using the Jobs API (Job and IProgressMonitor) you can implement code that will run in a thread and update the standard Eclipse progress monitoring service as you go along in your thread.

To create a job, extend from org.eclipse.core.runtime.Job and implement the run method:

 
 
protected IStatus run(IProgressMonitor monitor) {
  int steps = 100000;
  monitor.beginTask("My Task", steps);
  for ( int i=0; i<steps ; i++ ) {
    monitor.subTask("Step "+i);
    monitor.worked(i);
    if ( monitor.isCanceled() ) break;
  }
  inputForTableViewer = Arrays.asList(new String[] {"One",
             "Two", "Three"});
  return Status.OK_STATUS;
}
 

To activate the job in MyClass (say it's a page with a tableViewer which we use to set the input), you do the following:

 
MySampleJob myJob = new MySampleJob();
myJob .addJobChangeListener(new JobChangeAdapter() {
  public void done(IJobChangeEvent event) {
    Display.getDefault().asyncExec(new Runnable() {
      public void run() {
        MyClass.this.tableViewer.
                        setInput(myJob .getInputForTableViewer());
      }
    });
  }
});
myJob.schedule();
 

Have fun!