Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 New to Turing (C++/Assembly Programmer)
Index -> General Discussion
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
UBC_Wiskatos




PostPosted: Mon Jun 30, 2003 6:57 pm   Post subject: New to Turing (C++/Assembly Programmer)

Hello there,

Next year I will be taking a Grade 11 Computer Science course at my local high school. From what I understand, the teacher will be teaching Turing in the course, with Java being Grade 12.

I had not heard much of Turing up to that point, and I've found this board and I hope someone could help me prepare for it. I looked at some of the syntax, and it looks quite verbose and easy, however I would like to know some specifics.

I've been programming in C/C++ for the past 4 or so years, as well as x86 Assembly (not much, just enough to optimize some functions) and Visual Basic. I usually use the Win32 API (not MFC or OWL) and the DirectX API (DirectDraw so far), and have made quite a number of games and programs. I've also done some (I emphesize, some) AI programming in Lisp.

Anyways, the main questions I have about Turing are the following:

Does Turing use its own graphics system or does it access the Windows GDI or what?
Does Turing pass automatically ByRef (à la Java) or ByVal (ouch), and does it have the equivalent of pointers?
I hear Turing is OO, so how does it stand on polymorphism, operator overloading, abstract classes, virtual functions, etc.?
Can Turing access DLLs? So say, if I wrote a DirectX wrapper (or perhaps accessed DirectX itself) for Turing, could I access it?
How is Turing on speed? Does it compile or is it interpreted?
If Turing can't do any of this, what kind of features does it graphics library have? I mean, has anyone attempted to create a 3D renderer with it, or is this futile (speed-wise). I already have a software 3D renderer in C++, and I'd be interested in porting it to Turing for my final project Very Happy
Is it possible to use assembly within Turing?
How is the code structure in Turing? Do you have headers and then the main file? Resource files? Is there a preprocessor?
Is there a free compiler for Turing?

Thank you very much to anyone who can answer at least some of these questions! Learning a new language always excites me, and I'm very interested in using Turing to its full potential, just would like to know what I can expect!
Sponsor
Sponsor
Sponsor
sponsor
Catalyst




PostPosted: Mon Jun 30, 2003 7:05 pm   Post subject: (No subject)

Welcome to the site, dont expect too much from turing tho

turing uses its own system (altho underneath its the winGDI)
no pointers, but you can do byref and by value
all of the OO stuff is there except operator overloading (you can also fake abstract classes)
cant access dlls
hybrid compiler-interpreter, slow as hell
its gfx library is small it lets points, lines, shapes, bmps
a 3d engine is possible(i have one posted in source), but speed limitations will keep the poly count low (<400) and good features such as textures out of the picture
no assembly
there and include (thats about it for preprocessing) headers can be faked and resource files arent there
the compiler isnt free but you could always "buy" it (emphasis on the quotes)
UBC_Wiskatos




PostPosted: Mon Jun 30, 2003 7:11 pm   Post subject: (No subject)

Hey Catalyst, thanks for the prompt reply!

Hmm, it doesn't look that bad, there's quite a bit one can do with the GDI anyway. I'll have to take a look at your 3D engine, sounds nifty. I have a feeling I'll be making myself at home on this forum for the next two years. Thanks for the welcome. Smile

By the way, can someone point me to some Turing tutorials if they exist?

Whoa, you're from Windsor too... Massey, probably? I go to Kennedy.
Catalyst




PostPosted: Mon Jun 30, 2003 7:14 pm   Post subject: (No subject)

im actually out at Belle River but there are quite a bit of massey people around here

http://www.compsci.ca/bbs/viewforum.php?f=3
Asok




PostPosted: Mon Jun 30, 2003 7:15 pm   Post subject: (No subject)

hey UBC,

It's good to have ya here. I started off in the same position as you, I did C++ before Turing.

I think you'll probably run into the same things as me.

Likes:
    - Less code.
    - MUCH less debugging.
    - Easy to just start coding and see immediate results.


Dislikes:
    - More restrictive if you're working on a few things massive (although, catalyst has proved that Turing isn't as restrictive as I thought it was)
    - Too many globals makes things easy but messy.


anyways you should have no problem at all learning turing. Once you get a compiler, go over our tutorial section to become familiar with Turing.
rizzix




PostPosted: Mon Jun 30, 2003 7:20 pm   Post subject: (No subject)

Catalyst wrote:

all of the OO stuff is there except operator overloading (you can also fake abstract classes)



naa i won't agree with this. Turing's oop support is poor. very.
first of all inheritance is a major problem, not implemented correctly. Argh! that disappointed me. If inheritance is a problem so is polymorphism. So are the other 2, abstraction, and encapsulation. they are all interconnected. A good oop language is Java, even better than C++. Well after all it was the c++ Developers that created Java. And Java does not support operator overloading. You really can't judge how oop a language is by the features it supports, but by just how well it is correctly implemented.

EDIT: c# and VB.net isin't bad, it's only the multiple inheritance that bugs me! If they made it single, it would be perfect. other great oop languages are Objective-C, Eiffel, SmallTalk. cool eh.
Tony




PostPosted: Mon Jun 30, 2003 7:23 pm   Post subject: (No subject)

UBC_Wiskatos, you should do yourself a favor and skip grade 11 compsci. Go straight to 12, its gonna be soo easy for you anyway. Seriosly, I've been doing graphics and doing my own stuff for half the time in grade 12 compsci and I just finished gr11. Ended up with 95 BTW.

What you know know is that Turing is not an actual language. Its a translator of sords and it trades EVERYTHING for syntax simplicity. It will actually translate your code info C++ before compiling it. (I think Tom admited to that some place... also if you look in compiled binary file, it has a shitload of comments saying stuff about VC++).

turing's graphics library is shit, its limited to draw dot, line, box, circle and polygon.

speed is horrible. All the functions are half-ass writen and REALLY slow.

dont even mention resourses. Uses up more then Photoshop Laughing I had my school's mainframe crashed numerous times just by running my above average programs.

You cant import or use any DLLs... Me and my friend did some independant research and talked to Tom (creator of turing) and he said "turing was not ment to do that kind of programming that would require you to use DLLs".

Headerfiles... well it has include, but just for custom ones. It includes ALL of C++'s headers at compile so your "hello world" end up being half a MB (I'm serious).

The best turing has to offer is Catalyst's 3D engine and Mazer's "Evasive Manuvors" game.

The bottom line - if you've heard of DirectX or openGL, stay AWAY from turing. Laughing It really is crap. The only "advantage" is that its easier for teachers to explain the syntax.
Quote:
for i:1..10
put i
end for

VS.

#include
using namespace std;

void main()
{

for (int i=1;i<=10;i++)
{
cout << i << "\n";
}

)//end main



well you get the picture. Unfortunatly I dont find the speed tradeoff worth it.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
UBC_Wiskatos




PostPosted: Mon Jun 30, 2003 7:23 pm   Post subject: (No subject)

Wow, you guys are great! Replying so fast and everything, this looks like a great community.

As for restrictions to Turing, I've found that it's usually not the language that makes the programmer, but the programmer that makes the language. There is always a way to do something, and just because a language restricts you so that the usual way of doing it is impossible, there's always an alternate way of doing the same thing. That's the beauty of programming.

I'll go look into getting the compiler in a bit, but anyway, thanks for the help. If I have further questions (probably on the Turing "GDI") I'll be sure to post. And of course, I have to repay you all with some tutorials if I can, I'll try to port some of my C++ GDI code (mostly clipper, blitter functions, but some fun physics stuff too) and explain it. Smile

As for skipping Grade 11, I attempted to do that, but from what I understood, that special program where you skip grades and get a credit is long and arduous and not worth it. I can't skip it any other way, so I might as well have a sort of "spare" and play around in the class. I'm sure the teacher won't mind. Smile

Anyways, as for the syntax. I don't know, if you ask me, once you're used to C/C++/Java syntax, Visual Basic and Turing seem cluttered. Granted, I know it's easier to read, but somehow I feel more at home with brackets, semi-colons, asterisks, and the assortment of other weird symbols. Although, you can go overboard and use Perl, which is EVIL for anyone trying to decipher it. I love Perl too though, I guess I'm weird. Smile

So Turing translates into C++? Hmm... Ugh. Well that's just great. Smile
rizzix




PostPosted: Mon Jun 30, 2003 7:26 pm   Post subject: (No subject)

UBC_Wiskatos wrote:
Wow, you guys are great! Replying so fast and everything, this looks like a great community.

As for restrictions to Turing, I've found that it's usually not the language that makes the programmer, but the programmer that makes the language. There is always a way to do something, and just because a language restricts you so that the usual way of doing it is impossible, there's always an alternate way of doing the same thing. That's the beauty of programming.



try that for correct oop programming. i'm sorry but although u can write GREAT PROGRAMS with any language, writing programs the correct way, in this case i was talking about oop, is not quite possible if the language does not support it.
Catalyst




PostPosted: Mon Jun 30, 2003 7:28 pm   Post subject: (No subject)

good luck with turing
you can do anything you want with it
you just cant do it quickly Laughing
rizzix




PostPosted: Mon Jun 30, 2003 7:30 pm   Post subject: (No subject)

tony wrote:
The bottom line - if you've heard of DirectX or openGL, stay AWAY from turing. Laughing It really is crap. The only "advantage" is that its easier for teachers to explain the syntax.


lol true.
Turing is a BASIC like language. BASIC (Beginners All Purpose Symbolic Instruction Code) was designed as the name implies for beginners to get into programing.
UBC_Wiskatos




PostPosted: Mon Jun 30, 2003 7:30 pm   Post subject: (No subject)

rizzix wrote:
UBC_Wiskatos wrote:
Wow, you guys are great! Replying so fast and everything, this looks like a great community.

As for restrictions to Turing, I've found that it's usually not the language that makes the programmer, but the programmer that makes the language. There is always a way to do something, and just because a language restricts you so that the usual way of doing it is impossible, there's always an alternate way of doing the same thing. That's the beauty of programming.



try that for correct oop programming. i'm sorry but although u can write GREAT PROGRAMS with any language, writing programs the correct way, in this case i was talking about oop, is not quite possible if the language does not support it.


Oh I totally understand what you mean. But nothing is perfect, and God knows no one writes correct OOP in the real world. I mean, if you take a look at the Quake source code, it's a mess, but it works. As long as it works (and works fast), it's good. Although, your teacher might not think so! Wink
Tony




PostPosted: Mon Jun 30, 2003 7:32 pm   Post subject: (No subject)

Catalyst wrote:
good luck with turing
you can do anything you want with it
you just cant do it quickly Laughing


but very unefficient Wink Man, you just have to compare FPSs that Catalyst is getting on his turing and his openGL 3D engines. I think turing would crash if you try to even load a mesh that big Laughing
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
SilverSprite




PostPosted: Mon Jun 30, 2003 7:39 pm   Post subject: (No subject)

Hey Wiskatos.. what you've heard about skipping to higher level classes is wrong.. you can actually skip without any formal guidance ppl doing crappody to help you.. just talk to your teacher and if hes ok with it and you can prove the knowledge of the course you have then it shouldnt be too bad.. just to say.. i guess it depends on what teacher

BTW there are a few ppl on this forum from massey.. nice to meet you!
rizzix




PostPosted: Mon Jun 30, 2003 7:39 pm   Post subject: (No subject)

UBC_Wiskatos wrote:

Oh I totally understand what you mean. But nothing is perfect, and God knows no one writes correct OOP in the real world. I mean, if you take a look at the Quake source code, it's a mess, but it works. As long as it works (and works fast), it's good. Although, your teacher might not think so! Wink


i agree with u completely. The are so many awesome: to the extent of being genius programmers, that do not know how to write correct oo programs!!! funny eh.
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 21 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: