Do other languages have a chance? RRS feed

  • Question

  • User-1793822101 posted
    I notice very little activity outside C# and VB.NET. This forum is a good example of the issue! Having coded in the above and JavaScript.NET I can see why, JavaScript is not a Visual Studio language which makes it less productive (if you're using VS). I thought .NET might be the saviour of a lot of languages. (Haskel and Mondrian look interesting for example and there are still a few people out there wanting to use FORTH.) Instead I see a bilingual (C# and VB.NET) culture arising and other languages may have a hard time getting "mind share". I've also seen a surprising number of attempts to assassinate VB.NET by people who presumably can tolerate only one language (C#). Odd behaviour! What are other people's views on how the language landscape will pan out over the next few years??
    Wednesday, July 31, 2002 4:52 PM

All replies

  • User604330581 posted
    Not all languages are familiar to or applicable for web developers, so they may not necessarily be best for ASP.NET. However, if someone wrote a business object or something in, say, FORTH, you could integrate it into the site pretty easily. One language that might get some use in the web environment is Perl.NET from ActiveState, because it lets Perl page developers use ASP.NET easily.
    Thursday, August 1, 2002 12:10 AM
  • User-67073866 posted
    There is a lot of COBOL code still out there. Fujitsu makes COBOL.Net. Lots of places will try to move their old COBOL into .net to reuse the business logic.
    Thursday, August 8, 2002 1:20 PM
  • User-1132726842 posted
    Borland is actively working on a .NET version of their Delphi language: Delphi for .NET compiler preview Using Delphi as a script language for ASP.NET I, personally and professionally, can't wait for Delphi.NET to be released. It will make life much easier in our company, as we can all use the same language to create what we want. Be it programs or websites! Cheers, Sven Glazenburg
    Friday, August 9, 2002 2:26 AM
  • User-1430188240 posted
    I've discovered FORTRAN.NET a few weeks ago. I think this can be successful in universities... Other languages such as Perl and Python will have success as well (in my opinion).
    Monday, August 12, 2002 12:21 PM
  • User1356982465 posted
    Eiffel.NET has implemented "true" multiple inheritance. (The compiler does some tricks to make it single for CLR, but the Eiffel developer is exposed to the multiple inherits.)
    Monday, August 12, 2002 12:48 PM
  • User-1687763041 posted
    A lot of veteran programmers may prefer some of these older languages (Fortran, etc) but I think a lot of new developers, like me, will prefer VB.net because it is easier. Java convertees and C fans will probably prefer C#.net.
    Monday, August 12, 2002 3:46 PM
  • User539123111 posted
    Sven, I was wondering if you know where I could download the delphi.net compiler. I've read the article on the borland website about the compiler but I couldn't find it anywhere in order to try in vs.net. Do you know how vs.net compares to delphi 7 studio ??? thanks, Djindo
    Monday, August 19, 2002 10:10 PM
  • User556687793 posted
    I would like to see PERL.Net and J#.Net (or a Java.Net) make it's popularity. However I figure there are more people who can help knowing c# than the other(at least for now.) I would consider myself a veteran of Pascal, so hearing of Delphi.Net sparks me. Anyway, being beginner/intermediate of Java I decided C# was most familiar and easily accesible at this time.
    Wednesday, August 28, 2002 9:18 PM
  • User-356938520 posted
    --Do you know how vs.net compares to delphi 7 studio ??? May be interesting to look here: http://www.borland.com/delphi/pdf/del7_feamatrix.pdf Regards
    Monday, September 9, 2002 11:23 AM
  • User-1793822101 posted
    If I had a simple way to plug Delphi into VStudio I would give it a spin (provided I could test without shelling out any money other than my valuable time!). From a quick look I see no evidence that this is currently possible. I also wondered whether it would EVER be possible.
    Sunday, October 13, 2002 2:32 PM
  • User-232223085 posted
    Hi Paul. Your statements about Eiffel.NET and multiple inheritance are somewhat intriguing and we've had a conversation going recently in this thread on the subject of inheritance: http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=67477 I was hoping we could entice you to pop in and give your two cents on the matter of how some of the "messy" issues of inheriting two different object get taken care of in Effiel?
    Thursday, January 9, 2003 1:52 PM
  • User865851310 posted
    The Delphi IDE has arguably been very good all along, but the new version has some cool features that VS might never see: e.g. fwd/reverse engineering of UML. Not saying that delphi is better than VS, but certainly hope it doesn't get "plugged into" VS--the IDE has a lot of merit on its own. I understand C# and Delphi have some common origins, and the similarities are striking, so I think that Delphi is going to lose a lot of ppl to C#.
    Monday, March 3, 2003 11:22 PM
  • User69263228 posted
    One of the first languages I learned besides Pascal was SmallTalk. This was a great and easy to learn OO Language. I thought I remember hearing that this language would offer a .NET version. Does anyone know if this and true, and if so, where can I find information on it. Thanks
    Thursday, March 13, 2003 11:48 PM
  • User-1687763041 posted
    Steve, SmallTalk for .NET is S#. I don't think it's out yet. Here's an article: http://www.devx.com/dotnet/Article/10921
    Friday, March 14, 2003 6:17 AM
  • User-950908124 posted
    Someone here mentioned Fortran.NET. How well will it do? I thought Fortran was good because it was targeted for number cruching and is well optimized for that. But if it gets converted into IL and then later into machine code for execution, then there are no special optimizations. Will it still be useful? Just asking. Also, I saw A# (ADA.NET). My quesiton on that is, I thought the US Dept. of Def. needed a language that had strict real-time, fault-tolerance, and mission-critical requirement? Later it was expanded into a general purpose language. But I think for A#, it'll probly be more for nastalgia or as a hobby for those who want to toy the language... what do you think? Just asking. Delphi.NET looks interstesting. I hope it'll be the same Delphi. What I don't know, I'm hoping some of you may, will they port a clone of the VCL into a .NET namespace? That's, IMHO, what makes Delphi what it is, especially to those of us who have learned it and use it. Just asking. I like programming win32 assembly. I've seen an effort of someone to port MASM to MASM.NET, primparily for ASP.NET. Don't know what ever happened to it. Anyone know? Thanks, _Shawn
    Monday, March 24, 2003 2:51 PM
  • User-2058182392 posted
    I started playing with OCAML and noticed a link that pointed to Microsoft where there was a paper on F#. It's basically an implementation of OCAML, I believe. I still program occassionally in LISP and would love to see LISP.NET. If there is an implementation people will use it, especially those already familiar with it. Rob
    Friday, September 12, 2003 12:49 PM
  • User1656169898 posted
    There have been several languages ported to the JVM, and these could probably also be changed to target MSIL/CLR. This is a boon for language developers for two reasons. First, it gets pretty close to "write once run everywhere," as Sun is always proclaiming for Java. Second, you have a JIT compiler on most platforms that do some optimization for you. So writing your compiler back end is easier with only one or two targets. The bad news is that besides the syntax, languages have semantics. VB.NET and C# were defined in parallel with the CLR, so their language semantics are compatible with the CLR and the program is fairly easily translated into MSIL and the .NET Framework class libraries. FORTRAN should take some shoe-horning to put it into the CLR. Its a procedural language instead of an O-O language so there's a big impedence mismatch. But FORTRAN is old enough that its a fairly simple language so not a big problem to translate. COMMON areas probably become singleton classes in the CLR, and similar tricks. On the other hand, C is a real pain, since the CLR basically prohibits pointer arithmetic. Ada has a problem, because of the multiprogramming features built into the language. This means that you have to jump through lots of hoops, meaning lots of excess code to execute, in order to get the languages semantics working acccording to definition in the CLR environment. This slows down and bulks up the programs. This is made worse when you take the typical "good programming practices" of those languages into this environment. So you end up having programmers who know a language and are very skilled and productive at it, finding that they are faced with three problems. First, they have a language implementation that has many, often very subtle, semantic differences that they have to learn and work around. Think riding a bicycle with wobbly wheels--the better a bicyclist you are the more annoying it is. Second, there are going to be many .NET Framework capabilities that are beyond your reach--FORTRAN will not be able to take advantage of any objects. Third, there are going to be many .NET Framework capabilities that you can take advantage of, but only after a lot of learning curve on .NET, and learning how to twist your programming to use those features. I'm all for alternative languages where they naturally fit the problem to be solved. That makes a job soooo much easier. However, in the .NET environment, much of the "problem" to be solved is using the .NET environment, meeting users' expectation of programs in that environment, and keeping up with Microsoft's changes to that technology. Add in the tendency of businesses to want to hire young and cheap programmers who only know the latest wiz-bang language and environment, and the market for alternative languages is not real good, unless they can find a very secure niche.
    Thursday, April 15, 2004 12:39 AM
  • User-1793822101 posted
    Last time I looked at various languages this is what I saw APL from Dyadic seems to have vanished from the radar (abandoned?) FORTH was still a proof of concept There were two smalltalks S# (not issued yet and may be only one person working on it) and another version (forget name) Eiffel is out there of course Two FORTRANS if I recall correctly Mondrian was still a research language (non commercial) X# had been canned and it's features are going into C# and VB.NET There is a version of Oberon (from ETH I think) may be research language Plus a variety of things from Microsoft Research A PERL that is not fully .NET from ActiveState (now taken over) A research Python that is apparently real slow and in development IronPython (from one of those involved with AspectJ) this may be really interesting Delphi.NET is available in a Borland IDE but not for VS These may not be entirely accurate but they do show a very slow emergence of real commercial languages for .NET and even fewer that have all the grunt that comes from VS integration. Then of course there's Monad but that's something different!!
    Thursday, April 15, 2004 6:09 AM
  • User-2125802522 posted
    Except for some very specialized uses, what do you think would be the advantages of there being a large number of languages available?
    Thursday, April 15, 2004 9:35 AM
  • User-1793822101 posted
    I'd certainly like a choice of languages so that I can use languages that are more productive and suit the way I think better. Specifically as follows: 1) For engineering calculations I always found the "language" of HP Reverse Polish calculators much superior to the algebraic syntax. (These tools use a FORTH like approach and involve direct stack manipulation. A great way to program.) 2) For quick idea development work, script, without strong typing, is way better than compiled strongly typed languages. In those situations it allows the ideas to flow and algorithm development is really good. My informal measurements say that productivity can increase more than 10 times when the slowness is removed and the development speed gets closer to the speed of thought. (I guess the mental state is "flow".) I know (like Eric Lippert says) that you can turn options off for VB.NET development and get closer to this but you still have that compile phase which with multiple projects to compile is a complete killer. 3) The prototype based inheritance of JScript enables you to do things you wouldn't try in strongly typed languages. I know we half have JScript in .NET but VS development support is lacking. I know a lot of programmers will make a total botch with this tool, that's not the issue for me, some people will get supercharged performance and enjoy themselves much more. 4) When working with sets I use T-SQL. The facilities in there blow the OO languages away, but the syntax that the "good stuff" is embedded in makes me cringe. I know there is work going on to fix this (the X# stuff being built in to VB.NET and C# could be good and the language support in Yukon), which I don't have time to check out. This area might be going places. 5) Using XSLT is to my mind a real pain. I add script in C# or VB.NET to the transforms (where doing it the pure functional is, in my opinion, pure nonsense) and find the development support for doing that simply stinks. I've also seen a quote from a heavy XSLT programmer who has moved all his work to Python (I think) code. I'm not familiar with what he's doing and don't have the time to check it out but I can see "programming pleasure" when someone writes about it. So I say we need better ways to program against XML. (I find the XMLDocument model a bit cumbersome.) I suspect the X# stuff will address this issue too. 6) I did some work using APL many years ago. I hated the special symbols (but that has been tackled well in some versions of the language, Sinclair...). The symbols aside this can be like a direct tap into a deeper level of thinking. I'd love to do that in .NET, but the effort (Dyadic) seems to have gone belly up. 7) I would like to try out Rebol, Ruby, Delphi and maybe Smalltalk too, they offer some promise (and for Smalltalk historical / novelty interest). To do that I'm so hooked on the VS IDE that I want to do it all in there with all the features. 8) From a progress point of view VB.NET and C# risk stagnatating if there is not competition. Other ideas are healthy for these languages. I remember an analysis of the languages reputedly ported to the JVM. The inital list may have been around the 100 mark. Detailed analysis reduced that to 0 commercially viable offerings. The CLR was touted as a real basis on which to build languages. I know it is designed with that in mind. What I don't see much of is fulfillment of that promise. There is a need for other means of programmatic expression and performance out there. (Look at Whorff's hypothesis, many people can only think thoughts allowed by the language they speak. Computer languages are similarly an impediment to some thinking while enabling productivity in other areas.) 9) Then there's the aspect stuff, which I have not studied at all but it does look interesting. (On a realted issue just look at how JUnit has been transformed in NUnit by the power in the CLR!!!) I don't consider myself primarily a programmer or computer scientist. I see programming as a way to implement ideas I have. To do those things better I would like to see more expressive programming tools which work with a concise syntax and are better at keeping up with the speed of thought.
    Thursday, April 15, 2004 5:20 PM
  • User-1793822101 posted
    Additions to previous posts. Dyadic APL is in fact alive and well as "Dyalog APL". There are web links that point to the wrong place go to http://www.dyalog.com/ to find out more. (I've been told this is "doing well".) I found out about a language called J (From the designers of APL). It does away with the need for special characters and has a different design from APL. (See http://www.jsoftware.com) A quick look showed it may be valuable. (It's not a casual task to pick up this language unless you are already familiar with a language like APL.) Has anyone here got experience using this in conjunction with .NET. If so I'd like to hear your experiences.
    Sunday, April 25, 2004 11:00 PM
  • User411284018 posted
    I'm an ASP.NET newbie with previous experience in PHP and APL. I'm blown away by the acceleration I get from Dyalog APL. With ASP.NET handling the OO-related stuff, APL's functional programming really shows its speed. For example: populate a DropDownList with the 24 hours of the day divided into 15' intervals: list.Items.Add",(({cut}'ZI2'[]FMT{iota}24)-1){jot}.,':00' ':15' ':30' ':45' A colleague remarked he'd use most of a day writing a reusable C++ class to create that… SJT
    Tuesday, June 29, 2004 2:33 AM
  • User-1793822101 posted
    Thanks for that Steven. That supports my conclusion that the Iverson (APL / J) approach knocks the spots off the opposition in the areas where it fits.
    Tuesday, June 29, 2004 3:23 AM
  • User411284018 posted
    BTW, here's a better way to generate the options. (I noticed it improved every time I tried to reproduce it.) Create an 'hour formatter' by currying a format string to []FMT… hrFmt <- 'ZI2,<:>,ZI2'º[]FMT then tabulate and ravel all the hr/min pairs, and add each one as an item… control.Items.Add¨{cut}hrFmt{mix},(0,{iota}23)º.,0 15 30 45 and a neat way in Dyalog APL to select the quarter hour ahead. First extract the hour and minute from DateTime.Now as hr and mn… control.SelectedValue <- ,hrFmt 1 2 {reshape}15 rndUp asMin hr mn where… rndUp <- {a×{max}w÷a} asMin <- {0 60{decode}a aa 0 60{encode}w} I've never seen such low serverside code volume. sjt
    Wednesday, July 28, 2004 11:48 AM
  • User411284018 posted
    'Off the radar screen'? I heard Dyalog APL from Dyadic (now Dyalog Ltd) was the first .NET language out. (See the Resources page at this web site.) There's a strong isomorphism between .NET assemblies and Dyalog APL namespaces, already used for OO programming in APL, so it's natural to grab .NET resources this way. Moreover, APL operators such as ¨(each) generalise over arrays of namespace/object references, once again enabling abstraction I don't see anywhere else. Example: AIRPORTS <- 'Gatwick' 'Heathrow' 'Luton' 'Stansted' 'Southampton' … (pufrom driveto).Items.Add¨2/º{enclose}¨AIRPORTS (pufrom driveto).SelectedValue <- 'Gatwick' 'Heathrow' I long thought the APL glyphs a ‘problem’, but not these days. Working now in the Wild Wild World, I already have one IME for writing Japanese characters. I'm contemplating customising a keyboard mapping to give me simple access to common ASCII characters — so I can write ‘café’ without pounding on the numeric keypad, for example. The second IME, for APL symbols, simply gives me access to APL’s “power shorthand”.
    Wednesday, July 28, 2004 12:14 PM
  • User-1630302068 posted
    I have my suspicions about Perl.NET & Python.NET. Im gonna bet they're really a hack since the initial version of Perl on the dotNet framework ran so slow Activestate annouced that it would NEVER see the light of day. there are certian aspects of languages like perl, python, befunge that just make them slower than mollassas in January when they're on the CLR. if you look at the IL that F# puts out, it's disgusting. Every anon function gets it's own dynamcily generated assembly! Talk about SLOW. This is the reason the Perl6 people are developing Parrot & Ponie.
    Wednesday, December 1, 2004 8:56 AM
  • User-1793822101 posted
    I suspect that Perl requires some enhancements to the CLR that we won't get soon. I know that the IronPython guy is now with Microsoft. He set out to prove that the CLR was unsuitable for a Python version (he'd done Jython) and ended up convinced that it could be done well. I always supposed that ActiveState Perl.NET was a COM implementation invoked via Interop (or something). Never tried it out. F# may still be a research language but I'm hoping it can do useful things. I ran a quick check. I wanted to know where it really shines. Found zip. When / If I find good, realistic, comparative discussion of it's use, I'd like to find areas where it is the winning choice.
    Wednesday, December 1, 2004 2:13 PM
  • User743145481 posted
    Stephen, you could much more easily make a quick program that fills a datagrid with every character you want. Also, you can make it so clicking on a cell (grid item) will copy the cell's contents to the clipboard. This would literally take 20 minutes, max. While the keyboard mapping would be confusing if you didn't change the keys, which I can only imagine would take longer.
    Friday, December 3, 2004 8:43 AM
  • User-979712387 posted
        I happened to see that Forth was mentioned a couple of times in this ongoing thread.  A while back I saw this link for a .NET Forth.  I DLed it, but haven't had a chance to look at it.  I experimented quite a bit with Forth in the eighties.  I very much liked it's design philosophy.  Had the resources that were put into basic been channeled into Forth instead, I wouldn't be surprised if it had evolved into the favorite language for programmers in many areas.
        Anyway, here's the link - http://www.dataman.ro/dforth/.  BRN..
    Sunday, April 24, 2005 12:05 AM
  • User-1793822101 posted
    One factor in this debate is that .NET languages do (eventually) evolve.

    One sign is the slow march of some really attractive ideas into VB.  In this article Paul Vick describes some of the, maybe forthcoming, features in VB and reminds us that VB contains powerful, late binding features.  (I suspect many people are unaware of these or haven't used them.  Now I'd, sometimes, love a different granularity, mark a method as "scripty" and only turn it "strongly typed" if and when that makes sense!!)  The ideas of Eric Meijer are well worth a look if you're interested.  Eric tends to cut through the fossilised thinking of the language zealots and get to the heart of the issue.

    The net effect might be that, eventually, we won't really need the other languages.  (Because we have those features in a language we already know, and hopefully love (to some degree!).

    (Community Server appeared to reject the first post of this article, if it appears twice, that is to blame!!)
    Sunday, July 10, 2005 6:30 PM