8

I have recently heard about Magic programming language from several sources and didn't recall ever hearing about it before. It was mentioned that it is a programming language from Israel. I did some googling and couldn't find much information about it. I couldn't find any code examples, and wikipedia didn't have any information on it either. I think this is the site for it http://www.magicsoftware.com/en/products/?catID=70 though I am not sure, as it mentions uniPaaS instead of magic. However other material on the site indicates that this is the new name for it.

I was interested in learning more about it from it's practitioners, rather than the company. I saw several claims on the internet that it provided really fast application development, similar to claims made by RoR proponents when it came out.

  • How does it compare to VB?
  • Is it still a better RAD tool than current .net or mvc frameworks like django, ror ...etc?
  • How hard is it to learn?

If you can post some sample code it would be most helpful as well.

Could this site be it? Though it links back to the page above.

Makoto
  • 104,088
  • 27
  • 192
  • 230
Vijay
  • 891
  • 3
  • 19
  • 35
  • 1
    programmers.stackexchange.com maybe? – KevinDTimm Mar 16 '11 at 13:27
  • I thought since this was about programming languages it should be ok. And the programmers, mentions its about expert programmers and such, and I don't know if I can call myself that :) – Vijay Mar 16 '11 at 14:43

10 Answers10

21

You're right my friend, Magic is the original name of the "programming language", nowadays is called UniPaaS (Uni Platform as a Service), I use it to develop some business application. Maybe is the fastest way to create an applications(data manipulation), you can create apps in just a few days, but like everything in life has its own drawbacks:

  • it's very weird so that makes it difficult to learn.
  • you do not have all the control of what's happening in the background
  • and you have to pay a lot for licensing (servers,clients, etc)

If you are interested in learning this, you can download a "free" version of the software that only works with sqlite databases called UniPaaS Jet.

PachinSV
  • 3,680
  • 2
  • 29
  • 41
  • Do you have any sample code and/or exe? Could you whip one up quickly if you still have access to it? – Vijay Apr 26 '11 at 06:12
  • 1
    I can send you an example if you want, but you need to install UniPaaS... You always need at least the UniPaaS Runtime. You can download UniPaaS Jet here: http://web.magicsoftware.com/unipaas-jet-download ... I will try to send you a simple project as an example, today. – PachinSV Apr 26 '11 at 14:32
  • Yes I'd love to see an example. I'll download the runtime for it. – Vijay May 12 '11 at 04:58
  • Where can I send you the file with the little example? – PachinSV May 16 '11 at 00:04
  • 1
    Can't you just post it here, so future explorers can have access to it as well? Is it too big to paste in a post or an answer here? – Vijay Jun 14 '11 at 05:32
  • 3
    @Vijay - uniPaaS does not have "code" so much as it has a bunch of XML files that are generated by your development toolkit. The toolkit compiles into a binary file that the uniPaaS runtime executes. It is so very, very different to any traditional programming language you may be thinking of. – Mark Henderson Jan 22 '14 at 23:43
  • @MarkHenderson, so how do you program using Magic then? – greenoldman Apr 09 '15 at 21:32
  • 2
    @greenoldman you don't so much program as you do specify business logic rules. The interface looks like this: http://www.repullo.com.br/blogmagic/wp-content/uploads/2012/07/Imagem_003.png – Mark Henderson Apr 09 '15 at 21:34
9

Magic Language is as it’s called today uniPaaS, it used to be Magic than eDeveloper and now uniPaaS as PachinSV menchend before. uniPaaS is an application platform enabling enterprises, independent software vendors (ISVs) and system integrators (SIs) to more successfully build and deploy business applications.

You can download the free version of uniPaaS Jet here: http://web.magicsoftware.com/unipaas-jet-download, try it yourself and see how easy it is to use.

Magic technology as you descried is a Magic Software Enterprises tool (uniPaaS), you can find more information on:

  1. official website: www.magicsoftware.com/en/products/?catID=70&pageID=55
  2. uniPaaS Jet developer group on facebook: https://www.facebook.com/groups/unipaasJet/
  3. Magic developer zone: devnet.magicsoftware.com/en/unipaas

Let me know if you find the information helpful

Bob

Bob Marshall
  • 91
  • 1
  • 2
7

As PachinSV explained, there is a RAD once called Magic, then eDeveloper, now UniPaaS. This RAD is dedicated for database applications. Programming in this RAD does not look like anything else I know, you mostly don't write code as with usual languages, but it is nearly impossible to explain just with words. The applications are interpreted, not compiled.

As PachinSV said, when developing, you must follow UniPaaS' way of doing things. This is probably why so many people never manage to use Magic properly: if you thought like Magic before learning about it, then you will adapt to it easily; but if you have a long and successful experience using other database development tools, then often the Magic paradigm will never become natural to you. The learning curve is quite steep, you must learn a lot of things before being able to write a little application.

Previous versions stored the "code" inside a database table. The last version, UniPaas stores the code in xml files. I could send you an example, if PachinSV does not answer you before. But the files are pretty big: the smallest xml file I have in a test app is 4000 bytes, and any application is made of at least 11 files, an empty application is 7600 bytes. You must also understand that developers never use those files (they are undocumented AFAIK), they are only the storage format used internally by UniPaaS. The only way to use them is to set them up as a UniPaaS application.

davitof
  • 161
  • 2
  • 6
5

I'm still an active MAGIC Developer... This is the old name used and its a completely different paradigm like some of you mentioned. I've been developing it from Magic version 8.x to eDeveloper 9.x to 10.x then renamed to UniPAAS.

The newer version is much easier to use and it is still very RAD in the sense that there is little or no code you write... a lot of the common programming tasks like IO, SQL command...etc is handled by the tool and is transparent ( so even less code to write since we use it in almost all types of applications)... Its mostly an Enterprise tool... you wouldnt use it for small application... You can download the free version to learn the paradigm... but the enterprise licenses are expensive.. you need both the development tool and the runtime license if you want to deploy... so it can be costly for small scale projects...

I enjoy it personally, especially when you have to do quick proof of concepts or a quick data migration or porting onto any db platform and bridging any existing system through a wide range of gateways they provide with the licensed version.. It is up to date with the commonly used web technology out there...like SOAP, RIA ...

It's more popular in Europe... The HQ in the States is in Irvine... we used to have 2 branches in Canada but it closed down in 2001 .... Visit the Magic User Group on Yahoo... Its a very active forum with lots of cool people who will help you out in your quest...

http://tech.groups.yahoo.com/group/magicu-l/

Gotcha
  • 1,039
  • 1
  • 16
  • 24
3

I Programmed with Magic for 6 years and found it to be a amazingly fast tool, easy to understand if you are a competent database programmmer because all operations are really about data manipulation. It is certainly a niche area develop in and because of this jobs are few and far between. As it is interpreted there are really no bugs to make. It will work with many databases/connections simultaneously but there is a big memory and processing hit.

Drawbacks :

  • Little control over communications between machines and devices
  • No mobile API as yet
  • Niche area so few skilled practitioners or companies willing to invest.

Good Points :

  • You can say you are a Magician; you can impress people with uber fast apps development (really)
  • It is easy to understand if you don't have a PHD in Maths
  • zero programming "bugs" can creep in. What you do is what you get.
Stephan
  • 41,764
  • 65
  • 238
  • 329
3

Developed in The original Magic PC referred to by several of the above folks.

It is exactly this: FAST, FAST, but expensive and rigid in what it will allow you to do. It works on a tick tack toe like matrix. Dropping in commands into the various sections determines when they are run. The middle column is run indefinitely until you break the cycle. It is like a do Until loop. If you have to do an item once you put it into this infinite loop and end it after one cycle. The first column procedures are run first, ONCE, before the infinite middle column is run. The 3rd column of commands is run after the infinite cycle, once. It is very efficient and logical once you get over the idea of an infinite loop.

Types can be specified and an associated program to present the type. Then everywhere the type is used all the settings automatically kick in. I like especially that one can write the program and 5 months later change the name of a variable and it is carried throughout the program. In fact the program does not use your name for anything. The internal name of any and all variables is hidden to the end user, so of course it is not a problem to change a name. It takes a minute to write an input program for any table. It takes a minute to write an export/import program for all the data files in the database.
Attaching to a type of database like Btrieve or SQL independent of the program itself.

I stopped using the language because they demand more for the runtime engine than I could charge for the programs I wished to run with it. Bill Gates went the opposite direction. VB is superior in control and being able to drop `10 datagridviews onto the same screen, but development is 10 times slower.

It's niche then is PROOF of concept for a program in a big company or conversion, importing, exporting for a development company. It is good for $25k programs that are database heavy and not going mobile.

uniPaaS, Magic PC

1

I did some Magic work around 1993. It was a DOS based 4GL that came from Israel. Haven't seen it since.

  • I think I bought a copy back in the early 90's as a teenager. I naively thought I could program a game with it. Did it come in a purple and white box? – Christopher Dean Jan 23 '23 at 15:33
1

How does it compare to VB?

It doesn't.

Is it still a better RAD tool than current .net or mvc frameworks like django, ror ...etc?

If you mean "is it more Rapid", then yes, otherwise no.

How hard is it to learn?

About as hard as learning MS Access.

Coincidentally, if you want to get an idea of what it is and how it works, I've found that comparing it to MS Access is handy. It works in much the same way from a user's or developer's perspective. Obviously what happens in the background is vastly different, but if you've ever developed a form in design view in Access, Magic will seem very familiar.

Captain Kenpachi
  • 6,960
  • 7
  • 47
  • 68
0

The only Magic programming language that I know about is one used by a company called Meditech. It's a proprietary language derived from MUMPS.

The language is truly miserable - here's a sample.

17 of 26
  • 27,121
  • 13
  • 66
  • 85
  • I found that link, but not the sample. I don't think this is it, because this [software](http://www.tamuz-software.com/en/about-tamuz) said they are using magic. Maybe I am making a spelling mistake? – Vijay Mar 16 '11 at 14:46
0

Google tells me there's also MAGIC/L. All I could find about it was this blurb:

A procedural language written in Forth. Originally ran on Z80's under CP/M and later available for IBM-PCs and Sun 3s.

T.E.D.
  • 44,016
  • 10
  • 73
  • 134