9 Replies - 1827 Views - Last Post: 17 February 2012 - 11:54 AM Rate Topic: -----

#1 GreenDots  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 06-May 07

Which Language for my Problem?

Posted 06 May 2007 - 07:53 AM

Howdy folks. I'm looking to learn a new language and would appreciate some help in selecting one :) I want to avoid any false-starts by putting down some 'musts' and 'must-nots' and mabye you guys could give me some languages to think about and mabye we can whittle them down to 1.

I have a lot of experience in php, and I used to be ok with C and Java. I dabbled a bit with the win32 API in visual basic also. Its been a long while since I've done any programming, and I think mabye its a good time to rethink my language of choice rather than just delve back in to one.

Anyway, here's my list of demands :D

Must:
...be flexible and reasonably powerful. (in terms of scope)
...be able to access the win32 API. I think I'll be doing a lot of work involving window hooking and API calls.
...be able to learn it relitively quickly (within reason)
...be able to spit out native windows excecutables

Must-Not:
...require stupid amounts of code to perform simple tasks.
...be a very high level language.
...run in a VM or sandbox.

Bonus points if the language uses c-style syntax.

-Hope you can help, guys :)

Is This A Good Question/Topic? 0
  • +

Replies To: Which Language for my Problem?

#2 Amadeus  Icon User is offline

  • g+ + -o drink whiskey.cpp
  • member icon

Reputation: 248
  • View blog
  • Posts: 13,506
  • Joined: 12-July 02

Re: Which Language for my Problem?

Posted 06 May 2007 - 08:12 AM

C++
Was This Post Helpful? 0
  • +
  • -

#3 snoj  Icon User is offline

  • Married Life
  • member icon

Reputation: 84
  • View blog
  • Posts: 3,564
  • Joined: 31-March 03

Re: Which Language for my Problem?

Posted 06 May 2007 - 09:00 AM

Beyond those musts, what are you wanting to do?!
Was This Post Helpful? 0
  • +
  • -

#4 rahulbatra  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 16
  • View blog
  • Posts: 183
  • Joined: 28-December 05

Re: Which Language for my Problem?

Posted 06 May 2007 - 10:04 AM

Ruby seems like a good option, if you want a very high level language that allows you to start productive coding in a reasonably short time.
Was This Post Helpful? 0
  • +
  • -

#5 Amadeus  Icon User is offline

  • g+ + -o drink whiskey.cpp
  • member icon

Reputation: 248
  • View blog
  • Posts: 13,506
  • Joined: 12-July 02

Re: Which Language for my Problem?

Posted 06 May 2007 - 10:29 AM

Ruby is a good option, but does not really fulfill the requirement of producing windows executables. As an interpreted language, it requires the use if an interpreter.

Of course, there are ways around it. :)

http://www.erikveen....2exe/index.html
Was This Post Helpful? 0
  • +
  • -

#6 born2c0de  Icon User is offline

  • printf("I'm a %XR",195936478);
  • member icon

Reputation: 180
  • View blog
  • Posts: 4,667
  • Joined: 26-November 04

Re: Which Language for my Problem?

Posted 07 May 2007 - 12:47 AM

I agree with Amadeus.
Go ahead with C.
Was This Post Helpful? 0
  • +
  • -

#7 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Which Language for my Problem?

Posted 07 May 2007 - 02:13 PM

:/ your list of requirements are... well limiting.

Basicly you discribed C++ with the exception of, "be able to learn it relitively quickly (within reason)" as windows C++ can actually take a while to master (mostly just due to learning the windwos API or MFC or QT or whatever you are using as a GUI front).

A good option is D. D is much like C# in that it is an attempt to improve upon C++. I have not used it myself but have been looking for an excuse to try it out. It takes many of the modern features found in languages such as LUA, RUBY, PYTHON and brings them into C++... It has to be worth something. There are two big compilers, one by Digital Mars and the other a GNU.

There is Eiffel. The syntax is much more pascal based (I bet this is where all of the old pascal programers who missed the Delphi boat went). But it is supposed to be a rather easy language with very solid Object Oriented programming structure. --I have never met an Eiffel programmer -- but aparently its big in europe.

If I were you I would not discount those interpreted languages. There is a lot of great work being done in languages like Ruby, Lua, Python, PHP, and Perl. These languages become more and more important as people beging to move away from the idea of "libraries" and move toward "engines".

Why spend all the time of programming a new game from scratch with you can use the physics/graphics engine of Doom3 and a scripting language like Lua and create amazing 3D games in 1/10th of the time? There is no significant speed issue since the engine takes care of all the masive-data portions of the code, all you need to do is tell the engine what to do when.

This idea is not just in games. Heck this is what the database world has been doing since the late 80's. Web developers are using PHP/Perl/Python/Ruby etc etc etc. Scripting languages are fast development platforms which are only getting more powerful with time.

Don't get me wrong. I hate microsoft's move away from native code development more than most, but that does not mean that I will not be spitting out some .Net applications here and there.
Was This Post Helpful? 0
  • +
  • -

#8 DesignO  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 30-July 07

Re: Which Language for my Problem?

Posted 30 July 2007 - 01:19 AM

"The syntax is much more pascal based (I bet this is where all of the old pascal programers who missed the Delphi boat went). "

And there is Delphi. Where it's native code party time on the Delphi boat.
It is a good place to start. Since it fits all your criteria. There is also a library for the Doom 3 stuff already mentioned.
Not to mention a fantastic community developers.

This post has been edited by DesignO: 30 July 2007 - 03:37 AM

Was This Post Helpful? 0
  • +
  • -

#9 ljr1981  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 16-February 12

Re: Which Language for my Problem?

Posted 16 February 2012 - 07:37 PM

View PostNickDMax, on 07 May 2007 - 02:13 PM, said:

There is Eiffel. The syntax is much more pascal based (I bet this is where all of the old pascal programers who missed the Delphi boat went). But it is supposed to be a rather easy language with very solid Object Oriented programming structure. --I have never met an Eiffel programmer -- but aparently its big in europe.


I am an Eiffel programmer working on a project in the Atlanta GA area for about 1 1/2 years. The project has produced about 200,000 lines of code and 960 classes so far. The code is the highest quality code I have ever experienced: truly well crafted, well designed, well organized and just plain high quality. The team consists of 5 full-time Eiffel engineers with 3 database engineers (SQL Server 2008 r2), 2 business analysts and 3 other IT support people. We are contemplating hiring one other senior Eiffel engineer and will most likely produce somewhere about 500,000 to 700,000 lines of code to achieve our Phase I delivery. Phase II+ will produce even more and build on the platform of Phase I, which is largely core infrastructure library code right now.

I have never programmed in Pascal, so I cannot speak to "where old pascal programmers go", but I can speak for Eiffel as implemented in EiffelStudio 7.0: It is the finest software development system I have yet encountered. I can speak directly to a number of items that make it what it is:

1. Multiple Inheritance (safely and easily handled and managed, unlike C++ and others)
2. Parameterized Generic classes like ACCOUNT [G] where G could be SAVINGS, CHECKING, MONEY_MARKET, etc.
3. Agents: Making state management a complete breeze and even intuitive once you learn how. Think: MVC on steroids!
4. Complete Void Safety
5. SCOOP - Concurrency made easy with a single keyword and the complexities of mutex management handled by the compiler!
6. A very smart compiler!
7. An IDE that takes full advantage of the Eiffel language specification and smart compiler!
8. Built in testing tool making integrated regression testing brain-dead simple.
9. Design by Contract - The compiler capacity to specify software business correctness rules in living code rather than dead separate documents the code never sees.
10. Feature (e.g. "Methods") scoping where the features can be exported (e.g. scoped) to anything from a single class to the entire project universe.
11. Multi-platform support (Windows (EXEs & .NET), Linux, Max, several others) seemlessly from ONE code-base, not many.
12. There is a .NET version of Eiffel called Eiffel Envision -- think of it as "E#" (Eiffel-sharp) instead of C#.

I could go on and on, but I won't. The Eiffel community is very small. The documentation is not easily understood. You'll need to de-program your brain for what you've learned and relearn to think like the Eiffel compiler. I suggest getting the ECMA 367 standard and understanding it, learning it and applying it. It will teach you how the compiler thinks and when you know how the compiler thinks, you'll have no problems working with Eiffel.

You will have to get used to different terminology, which once you do get the hang of it, you will find it is actually more fitting, better described and makes more sense than that typical naming in more "popular" languages. I spent 19 years in a Microsoft world of dBase-style languages and Visual FoxPro and can tell you it took me being willing to simply trust the tool in front of me, not to think I "knew it all" and to allow myself to be de-programmed from "my view" of OO theory and take on a more expressive view of OO than I ever thought was possible.

My challenge is to you all to go slowly, go deliberately, take your time, be thoughtful and not emotionally "attached" to your current language base just because it is what you know or what you presently think is "best". Be open. Be teachable. Learn. Grow! :-) I wish you all tremendous success no matter what tools you choose to use and work with. Nevertheless, I can certainly speak for Eiffel that it is the finest language system I have ever worked with.
Was This Post Helpful? 0
  • +
  • -

#10 tonysharp  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 20
  • Joined: 27-March 11

Re: Which Language for my Problem?

Posted 17 February 2012 - 11:54 AM

Quote

...be flexible and reasonably powerful. (in terms of scope)

C or C++

Quote

...be able to access the win32 API. I think I'll be doing a lot of work involving window hooking and API calls.

Most languages.

Quote

...be able to learn it relitively quickly (within reason)

Python, Ruby.

Quote

...be able to spit out native windows excecutables

C, C++, and Python 2.x with this.

Quote

require stupid amounts of code to perform simple tasks.

That rules out C then. :lol:

Quote

be a very high level language.

Free Pascal?

Quote

run in a VM or sandbox.

I can't stand those either...
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1