Free UML diagram tool for Objective C - objective-c

Are there any free tools in the market which support Objective C?

I use Argo UML and Violet UML for modelling on my Mac (Assuming you are using a mac). They are not great but they work.
If you want code generation that is a whole different issue.

Actually, one of the points of UML is to be language-agnostic.
If what you're asking is if any of the available tools supports Obj-C code generation: Googling, you can find some (commercial) tools that claim to offer Objective-C code generation.
It probably makes more sense to use XCodes built-in diagramming tools, which can be found in the "Design" menu. These are not, strictly speaking UML, but are quite similar.
Also, UML might not be such a good fit for designing Cocoa / Objective-C applications, because mostly you will use Model-View-Controller, into which a UML diagram doesn't offer much additional insight.

Actually, XCode 3.2 had a class editor that did what is being asked for. In Xcode 4.0 and later we can only use it for core-data related tasks which is a shame. I have a similar need as I have a team member that prefers diagrams to code.
I don't understand why it was removed. I'm hoping that I can find it as a standalone tool within the Apple Developer member center, but I don't have high hopes.
Worst case, you can download XCode 3.2, install it alongside 4, and use the editor within 3.2.
I have tried this very briefly. So long as you don't try to open the file under 4, I think it works, though I'd be wary of opening your 4-based project in 3.2.
Hope this helps.

Related

Class visualization tools for Objective-C?

Does anyone know of any static class/code explorer/visualisation tools for Objective-C? Something to help become familiar with large code-bases?
Thanks!
Have a look at OmniGraffle
You can drop an Xcode project file onto it and it will create a class diagram for you.
Few of options I've come across:
Scitools: https://scitools.com/index.php
Pros: Lots of features and some interesting plugins
Cons: $1000 (15 day free trial)
Combination of Graphviz (similar to OmniGraffle but free) and NST's objc_dep project (converts objective-c files into Graphviz readable file): http://www.graphviz.org/Download_macos.php and https://github.com/nst/objc_dep
Pros: Free
Cons: Not so many features
Xcode 3 and 4 differ feature-wise in this regard.
doxygen offers some cool advanced features (interactive browsing, graphs). it also works well with other languages. probably the most featured/detailed, but not integrated with the sources like an ide.
lastly, check out JetBrains' AppCode. although it's still in it's infancy as an ide for objc, what they have done for Java has been great.

Xcode4 UML plugin?

I want to design my classes in UML. Currently am using ArgoUML, which is free, but not well integrated with Mac OS X, to say the least :-)
Googling around there's not much information
any plugin/extension of XCode4 to do UML, like in Eclipse?
third party apps that look well in Mac?
any chance to get two ways code generation? Asking for too much? :-)
In my list of UML tools I don't have many Mac-specific tools. CanvasUML (free, only class diagrams) and MacA&D are the only completely designed for Mac. Others like VisualParadigm and MagicDraw have also a MAC version of their products

Anyone using Scheme/LISP for embedded projects?

This question is maybe somehow inspired with Anyone using Python for embedded projects?; so anyone using some Scheme version or Common Lisp (like ECL) for free/oss/commercial projects?
Personally, I used (and still using) TinyScheme for personal projects where some embedded language is needed, mostly due extremely easy embedding (sorry Python lovers, been there and that is quite painful, especially after I learned from TinyScheme how things can be simple).
The most prominent project I remember hearing about is (Gambit) Scheme on the iPhone. It was shut down by the user agreement for a while but I suppose with the new one, this kind of development is allowed again.
I don't see it on the page any more, but I remember a related blog post about interactive development on the iPhone using Scheme. Very exciting.

Is there any Subtext IDE or equivalent Example-driven Visual Programming Language/Interface published on the Internet?

I'm really excited about this new and experimental language named Subtext. But it's author haven't released nothing about it besides some papers and videos. Should I clone it? There are similar alternatives?
UPDATE I'm looking for an example-driven VPL, not just a VPL.
As Edwards' says in his related work section, the Self programming language is very similar. It shares subtext's emphsis on directness, uniformity, and liveness, but doesn't emphasize a tabular format (Schematic tables).
A lot of of work went into the Solaris version:
http://research.sun.com/self/papers/papers.html
seems there's a Mac & linux version, not sure how mature it is:
http://selflanguage.org/
Here's a video demo'ing Self, where they emphasize directness, uniformity, and liveness:
http://www.smalltalk.org.br/movies/
When you say "any VPL", do you mean none at all, or not a run-of-the-mill one? From the wording of the title question, I'll assume the latter. Here're a couple with some serious programming theory behind them:
Morphic is/was a/the UI piece of Self, and is now ported to Squeak:
http://wiki.squeak.org/squeak/2139
Prograph was a way-cool system, but I don't know of an available version.
A bit further out there is Kahn's Toontalk, based on Pictorial Janus:
http://www.toontalk.com/
I am sure you are aware of VPL On Wikipedia that lists many different VPL languages. You have not supplied information on what you are trying to achieve but another site is Synopsis. This is a commercial product.
From their website:
Synopsis is a completely visual RAD tool for Windows that frees you from having to write textual code and learning unnecesary programming details. With Synopsis you can concentrate on creating software instead of wrestling with mundane and complex low-level development tasks.
The image below shows how this application looks:
(source: codemorphis.com)
Granted my knowledge on this subject is limited and I do follow this to see if something really powerful can be created. I did see a project on CodeProject or CodePlex that was written in C# that allowed VPL but I cant find that URL.
If I ever do find that application I will edit this post!
You haven't provided more information about features you expect from such a VPL environment, but I think that "Tersus" could be interesting thing to look at. There're many VPLs, but mainly they're targeted as educational tools or addition to particular technologies (i.e VPL for Microsoft Robotics Studio) to simplify common tasks programming. The "Tersus" is full blown application development platform. It's open source and free to download for many OSes.
http://www.tersus.com
Coherence — The Director’s Cut
The Coherence home page is up at http://coherence-lang.org. The submitted version of the paper is there, with a new intro and a surprise ending.
Coherence claims to be an experimental programming language, a continuation of Subtext using other means.
Intentional shipped, but they are still kind of alpha, with limited distribution and testing. You can make example driven DSLs, but I don't know if the environment itself works that way.
http://lambda-the-ultimate.org/node/3287
You could look at the work on eve that is happening too:
http://incidentalcomplexity.com/

Which environment, IDE or interpreter to put in practice Scheme?

I've been making my way through The Little Schemer and I was wondering what environment, IDE or interpreter would be best to use in order to test any of the Scheme code I jot down for myself.
Racket (formerly Dr Scheme) has a nice editor, several different Scheme dialects, an attempt at visual debugging, lots of libraries, and can run on most platforms. It even has some modes specifically geared around learning the language.
I would highly recommend both Chicken and Gauche for scheme.
PLT Scheme (DrScheme) is one of the best IDEs out there, especially for Scheme. The package you get when downloading it contains all you need for developing Scheme code - libraries, documentation, examples, and so on. Highly recommended.
If you just want to test your scheme code, I would recommend PLT Scheme. It offers a very complete environment, with debugger, help, etc., and works on most platforms.
But if you also want to get an idea of how the interpreter behind the scenes works, and have Visual Studio, I would recommend Tachy. It is a very lightweight scheme interpreter written in c#. It allows you to debug just your scheme code, or also step through the c# interpreter behind the scenes to see what is going on.
Just for the record I have to mention IronScheme.
IronScheme will aim to be a R6RS conforming Scheme implementation based on the Microsoft DLR.
Version 1.0 Beta 1 was just released. I think this should be good implementation for someone that is already using .NET framework.
EDIT
Current version is 1.0 RC 1 from Oct 23 2009
Google for the book's authors (Daniel Friedman and Matthias Felleisen). See whether either of them is involved with a popular, free, existing Scheme implementation.
It doesn't matter, as long as you subscribe to the mailing list(wiki/irc/online-community-site) for the associated community. It's probably worth taking a look at the list description and archives to be sure you are in the right one.
Most of these are friendly and welcoming to newcomers, so don't be afraid to ask.
It's also worth searching the archives of their mailing list(or FAQ or whatever they use) when you have a question - just in case it is a frequent question.
Good Luck!
Guile running under Geiser within Emacs provides a nice, lightweight implementation for doing the exercises. Racket will also run under Geiser and Emacs, though I personally prefer Guile and Chez Scheme a bit more.
Obviously installation of each will depend on your OS. I would recommend using Emacs version 24 and later since this allows you to use Melpa or Marmalade to install Geiser and other Emacs extensions.
The current version of Geiser also works quite nicely with Chicken Scheme, Chez Scheme, MIT Scheme and Chibi Scheme.
LispMe works on a Palm Pilot, take it anywhere, and scheme on the go. GREAT way to learn scheme.
I've used PLT as mentioned in some of the other posts and it works quite nicely. One that I have read about but have not used is Allegro Common LISP Express. I read a stellar review about their database app called Allegro Cache and found that they are heavy into LISP. Like I said, I don't know if it's any good, but it might be worth a try.
I am currently working through the Little Schemer as well and use Emacs as my environment, along Quack, which adds additional support and utilities for scheme-mode within Emacs.
If you are planning on experimenting with other Lisps (e.g. Common Lisp), Emacs has excellent support for those dialects as well (Emacs itself can be customized with its own dialect of Lisp, appropriately named Emacs Lisp).
As far as Scheme implementations go, I am currently using Petit Chez Scheme, which is an interpreted, freely distributable version of Chez Scheme (which uses a compiler and costs money to obtain a license).