Shop OBEX P1 Docs P2 Docs Learn Events
Prog languages (Windows) — Parallax Forums

Prog languages (Windows)

Spiral_72Spiral_72 Posts: 791
edited 2010-09-21 15:16 in General Discussion
I'm just curious what y'all would recommend I learn next. I've used assembler, BASIC and C quite a lot in days past on my older machines..... but using those languages in a Windows environment is quite a task and much more involved than I'm interested in right now.

I tried Visual Basic and didn't like it.... at all. Maybe I'm wrong.

I've since started playing with Python which seems powerful enough, but the syntax and the overall annoyance is hard to get used to. Maybe it's just me, but I haven't given up on it yet.

In the newer Windows OS (XP+) what would ya' reccommend for a programming language? I'm mainly interested making games, some utilities and some general processing software (image or collected data).... I may get into machine vision again at some point, but that's a dream.

Comments

  • bill190bill190 Posts: 769
    edited 2010-09-17 13:25
    Android and cell phones are programmed in Java. Here is all about that if you are interested...
    http://forums.parallax.com/showthread.php?t=123974&highlight=android
  • KaosKiddKaosKidd Posts: 296
    edited 2010-09-17 13:29
    VB.NET is my preferred language; it provides for the fastest design to production life cycle yet. I purchased the full product Visual Studio, giving me access to quite a few other languages (Visual C++, and other MS ported languages supported in VS), but VB.NET is the fastest. With project templates, the super extensive online support for just about anything you need or want to do, .NET is the way to go if getting the project done is the main issue.

    Now, if you want the application to be fast, not messy (read that as simple install and removal from the target platform), then C++, C# or C is the way to go. There's more up front coding time, but in the long run, the application is better. There's lots of support for C++, C# and C online as well.

    Me, I code in either, prefer VB.NET, and can slip into one of the scripted languages as needed.

    IMHO
    KK
  • John AbshierJohn Abshier Posts: 1,116
    edited 2010-09-17 14:16
    You may want to take a look at Processing. It is open source and free.
    http://www.processing.org/
    From their web site: Processing is an open source programming language and environment for people who want to create images, animations, and interactions.

    John Abshier
  • ratronicratronic Posts: 1,451
    edited 2010-09-17 14:51
    Have you tried Robotbasic? I have used it to interface alot of stuff to the prop from the computer. http://www.robotbasic.org/ I like it because it is so simple to use - reminds me of the old days using the Comodore 64.
  • Martin_HMartin_H Posts: 4,051
    edited 2010-09-17 18:46
    To program Windows apps I would learn C#. You can bang together simple Windows programs using WinForms without much hassle.

    For portable web and console apps Java is a good language. But I don't think there are bindings to the Win32 API, so any GUI you write would use Swing which is dead technology.

    Now C# and Java are amazingly similar languages and it is fairly easy to switch between them. In fact my opinion is that taken together C# and Java are one more programming language than the world needs. But Sun's lawsuit against MS pushed them into creating C# and thus killing Java on the Windows desktop.

    The scripting languages (Ruby, JavaScript, Python) are also something you should learn because their ability to dynamic bind and create types on the fly is worth knowing.
  • localrogerlocalroger Posts: 3,452
    edited 2010-09-17 19:52
    I do all our in-house stuff in VB6. I will never use .net because Microsoft orphaned about 6 trillion lines of code to take a stab at Java with that, and VB.net isn't even approximately compliant with VB6. Meanwhile the WINE guys have targeted Visual Studio for compaatibility so when it really isn't viable on windows any more, I will have better support on Linux than I do on Windows thanks to M$ markeeting shenanegans.

    I also have a very specific way of working in VB. I use it more like a DOS BASIC than for its better known capabilities. I have coded everything to the API, without plugins, including especially serial port and TCP/IP access. My executables need only the VB6 runtime, which has been present from the factory on every computer I've seen since 2001 or so. This means you need no installer; you can run one of my apps directly off of a USB drive, or drop the backup directory onto a new machine, make a shortcut to the .exe, and it will work.
  • RavenkallenRavenkallen Posts: 1,057
    edited 2010-09-17 20:04
    I am just starting to learn Python and i like it quite a bit. It is kinda like SPIN, only a little harder...
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2010-09-18 06:44
    Python is a good long term commitment. It works in any OS (Windows, OS-X, Linux) and can either do little quick and dirty things or huge ambitious projects. It also is more intuitive than C, C++, C##, and C??.

    Sure you could use Ruby or something else that existed before Python, but Python seems to have gotten more right than you average software.

    There may be certain task - such as graphic and video display - that might be easier in another language. But nearly all of them play well with Python. So I consider it a core language resource.

    I use a 'sub-set' of Visual Basic for micro-controllers and it took forever for me to get used to it. But since I have the hardware, I live with it.

    Try getting some good Python books. O'Reily has several and you buy two and get one free, plus free shipping in the USA.
  • Martin_HMartin_H Posts: 4,051
    edited 2010-09-18 08:27
    My bad experience with Fortran made me dislike the concept of meaningful whitespace. As a result I've avoided learning Python and Spin, even though I know this is irrational.
  • schillschill Posts: 741
    edited 2010-09-18 08:55
    Martin_H wrote: »
    My bad experience with Fortran made me dislike the concept of meaningful whitespace. As a result I've avoided learning Python and Spin, even though I know this is irrational.

    I have similar feelings about white space, but I try not to think about it too much because I like Python and Spin otherwise.

    I didn't really have a problem with spacing in Fortran - but it was the first language I learned (on punched cards).
  • T ChapT Chap Posts: 4,223
    edited 2010-09-18 09:50
    Realbasic Fast to get going on. Have an app up in no time, fantastic forum for help. $100 for each platform build capability. osx, win, linux
  • tdlivingstdlivings Posts: 437
    edited 2010-09-18 11:08
    I am a big fan of Delphi. Embarcadero now owns the old Borland.
    One thing I really like is it compiles to an executable without the need of some framework installed.
    With that said all of them including Delphi will have some issues if a large enough population of people install your app on there pc.
    The cost of Delphi has moved up quite a bit recently and for someone just starting out and only wanting to learn the Microsoft Express Editions are free.

    Tom
  • schillschill Posts: 741
    edited 2010-09-18 11:40
    tdlivings wrote: »
    I am a big fan of Delphi. Embarcadero now owns the old Borland.
    ...
    The cost of Delphi has moved up quite a bit recently and for someone just starting out and only wanting to learn the Microsoft Express Editions are free.

    I was a fan of Delphi years ago (when it was a lot more affordable) but I think they really started to emphasize the data base capabilities too much. Turbo Pascal was the primary language I worked with before that. I'm sure I still have the original paperback manual for Turbo Pascal (v2, I think) around somewhere.

    The lead architect for C#, Anders Hejlsberg, wrote the original Turbo Pascal and architected Delphi.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-09-18 17:14
    I like vb.net but I note I tried Visual Basic and didn't like it.... at all. Maybe I'm wrong.

    So, which part didn't you like? My little annoyances are:
    * Setting up (hello world does take a bit of time)
    * Revisiting an existing program (open vb.net, open a new program, save it, close down vb.net, search the sub directories it will have created for a .sln file, then in future, just double click that .sln file)
    * Getting toolbars in the right place (and vb.net occasionally loses the info so you have to put them back)
    * The trillions of lines of code that are incompatible with vb6 (as localroger suggests). I found this site which helped a lot in the transition from vb6 http://www.pharfruminsain.com/Teach/VB.NET.aspx
    * The fact I've never been able to get it to work on one of my slower xp machines (800Mhz)
    * I can't seem to be able to change a pixel on a picturebox. I've searched the internet high and low on this one, and fundamentally, graphics on vb.net are a lot harder than in vb6

    On the plus side, vb.net is free. It has autocomplete on so many things. It puts in whitespace and indents correctly, even when you copy in raw text from elsewhere. It is starting to merge C and Basic (I disliked this intensely at the beginning but I've changed my mind now. Indeed, I'd like to see Basic able to handle { and other C syntax). There are vast libraries of code out there, and this is particularly useful when you want to do strange things like talk to DOS programs via Telnet. It has some nifty shortcuts, eg saving the entire contents of a textbox to a text file in one line
    RichTextBox1.SaveFile("C:\" + Myfile, RichTextBoxStreamType.PlainText)
    I guess the best thing I like is that I always seem to be able to find an answer in someones code on the internet eg http://www.planet-source-code.com/

    For example, in a windows form you can use Tab to move between objects like buttons and text boxes. How do you then use Tab within a text box as a proper Tab? I had no idea, and I certainly could not find the answer in the Help, but a quick search of the internet revealed the answer to be
    RichTextBox1.AcceptsTab = True ' so tab stays in the rich text box

    I very much suspect that much of the above is true for the other vb.net family - C, Java etc.
  • localrogerlocalroger Posts: 3,452
    edited 2010-09-18 17:52
    Dr Acula I'm glad .net is working out for you but this really struck me...

    Revisiting an existing program (open vb.net, open a new program, save it, close down vb.net, search the sub directories it will have created for a .sln file, then in future, just double click that .sln file)

    I had a similar problem once when I forgot to un-check SourceSafe on a VB6 install. God, what a nuisance. What kind of braindead moron puts all the forms in one directory, all the modules in another, and so forth? Keeping them separate is what the extension is for. And FSM help you if the .scc file, which is IIRC in Microsoft Access format, gets corrupted, and since it's an Access database it is GUARANTEED to get corrupted eventually.

    And try getting rid of it. You can't. I had to completely un-install Visual Studio with add/remove programs and re-install it from the CD set to get rid of SourceSafe. Fortunately, I keep my projects in their own directory trees, like a normal person would, off of root, so they weren't affected by this.
  • Spiral_72Spiral_72 Posts: 791
    edited 2010-09-20 07:31
    Thanks. Four days ago I heard of Real Basic for the first time. I'll investigate it. As far as C#, VB.NET and several of the others mentioned I'll have to investigate them as well.

    I thought Java was web type only??? Hmmm, undoubtedly shows my ignorance.

    I guess I've been out of programming way too long. The last time I did any real stuff was on a 486 probably. Supposedly now they have pipelines (Think that's what they're called) and a lot of intricacies that I don't understand to use assembler. Too bad though, I suppose assembler is dead except for lightening fast inside loops.

    I finally got a Python program to work Saturday night.... FINALLY. It seems so stinking difficult though.
  • tdlivingstdlivings Posts: 437
    edited 2010-09-20 10:45
    If your interested in viewing developing windows apps with Delphi there is an excelent series of webinar style examples at
    http://blogs.embarcadero.com/nickhodges/2006/08/15/26687

    Even though it say zip for each of them they are not , just click on each to watch .
    The Turbo Delphi product mentioned is not avaiable as far as I know but all the present versions of Delphi are the same, with additional advanced features.

    Tom
  • ZootZoot Posts: 2,227
    edited 2010-09-20 11:27
    Try Processing (a C-based IDE) that is free, open-source, and totally cross-platform. Many libraries available for cool apps, and it includes nifty modules like 3-D simulators and the like. It's a very common dev. platform for folks that want their PC/Mac/Linux boxes to interact with embedded apps and outboard electronics.

    Visit http://processing.org.
  • logan996logan996 Posts: 281
    edited 2010-09-21 14:34
    No don't go to Java! Just don't! trust me! My dad has been programing for years and he knows python, C#, C++, BASIC, Java, and he hates java! tells me he wants me to learn C# instead!
  • bill190bill190 Posts: 769
    edited 2010-09-21 15:09
    logan996 wrote: »
    No don't go to Java! Just don't! trust me! My dad has been programing for years and he knows python, C#, C++, BASIC, Java, and he hates java! tells me he wants me to learn C# instead!

    And if you want to program for cell phones and Android? I think Java is it for that?

    And it seems to me Android is a hot new market?

    I should think someone young would want to see where things are heading, then learn whatever languages are probably going to be used in the future.

    I did this in the 80's. It seemed to me at that time the Microsoft operating system and C was the wave of the future, so that is what I spent my time learning. Glad I did!

    And before that I spent no time learning about vacuum tubes in electronics. Instead I learned about transistors and integrated circuits. Glad I did that too.

    So if I were young now, I would be asking what will be in the future? And what languages will these things use? Then learn those languages.
  • ZootZoot Posts: 2,227
    edited 2010-09-21 15:16
    Java is so C-like that the differences are minor. What distinguishes Java is that it is a run-time app, not compiled to an executable, which makes it easy to distribute a single Java app across many platforms (e.g. the same app can run on many mobile devices, or websites, etc., without having to re-compile for each platform). The major downside, really, is that it is slower.

    If you know C, C#, etc., then Java is not a big change. If you know Java, then like-wise, C is not a big change (except for compiling/assembling).

    The real issue is if you a writing for multiple platform deployment, and if pure execution speed is an issue.
Sign In or Register to comment.