Any programmers who can give advice?

Status
Not open for further replies.

FantWriter

Super Member
ECF Veteran
Dec 11, 2010
601
5,429
Kentucky
I have some programs written in Atlas Autocode which need to run on modern computers.

I can't just write new programs to do the same things; it has to be as close to a line-by-line 'translation' as possible.

What would be the best language to write this in?

(I used to program in C, but I've been away from it so long, it'd be like learning a new language anyway, so I'm open to anything.)

Any help appreciated!
 

DanFromIran

Full Member
Verified Member
Oct 13, 2012
39
4
Ontario,Canada
Hello Friend. I am not a professional full time programmer but I study computer science in university.

Unfortunately I have not written in Atlas Autocode and I am unfamiliar with how it is.
I have however written in C,C#, scheme (similar to LISP), C++, Java, and some linux shell scripting in bash.

C++ is similar to C but object oriented (a totally different paradigm).
Java is also OO(Object oriented) and came after C++ it is cleaner to use you dont have to deal with garbage collection, micro memory management, etc.

C# is also very good but not as flexible as Java (you can run Java on different environments much easier than C++ or C#)

Bash is great if you want to learn scripting (I would recomend getting familiar with a powerful text editor like vim or emacs).
Scheme,LISP, racket was great for me to learn functional programming and differnet complex forms of recursion but I don't really see much use for it in the industry.

overall though, I would say C++ is your best bet. C++ is vast. at first it sound "sloppy" or "glued together" because of the rather confusing syntax but C++ offers a lot of different features and needs to have that syntax. you could learn Turing and it is as close to "English translation" as you can get but you can't do much with it.

I hope that helped
 

FantWriter

Super Member
ECF Veteran
Dec 11, 2010
601
5,429
Kentucky
Thanks for the advice.

I doubt you'll ever write anything in AA. It was developed in the mid-1960s to run on the Atlas computer. I can't find any extant manuals for it.

Some of it looks a lot like C.

Some of it looks like utter gibberish.

After ly, lx, m, and n are declared as real, i1 and i2 are declared as integers, CH(0:8) declared an array, and lx and ly assigned values by a "read" function (with no corresponding data list):

m = 1/2*Pi/ly ; n = 1/2*Pi/lx
cycle i1 = 1, 1, 2
if i1 = 1 then i1 = m ; if i1 = 2 then i1 = n
cycle i2 = 1, 2, 7
CH(i2) = 0
repeat

So you're setting integers equal to real numbers, assigning values using one dimension of a two-dimensional array, and the only place i1 is used is "if i1 = 2 ... " before the loop repeats.

I guess it's no wonder that nobody has translated this program before. :(
 

DanFromIran

Full Member
Verified Member
Oct 13, 2012
39
4
Ontario,Canada
I see.
The syntax is actually not all that complicated but could be a little obsolete.

a little note though about older languages. FORTRAN (stands for FORmula TRANslation) is a very old language geared towards scientific programs and surprisingly still used.
likewise COBOL (COmmon Business Oriented Language) is another very old language that was used back in the day by banks and insurance companies. after they wrote all the software in COBOL, they are reluctant to change the system because they worry they will break the code and the stakes are high.
one of my profs actually said that there is a lot of business in maintaining old COBOL code.

AA looks like an imperative language (where you have variables and you run the program sequentially). c++ , Java and C# will be the similar in some ways. C++ gives you the most features and flexibility, but typically the code will be a little messier. Java and C# will be neater but you wont have AS MUCH flexibility and low level control as C++

frankly though you wont need that edge on performance unless you are writing software for an embedded system or real time operating system of some sort.

Best of luck in all endeavors
 

Escapereality

Super Member
ECF Veteran
Verified Member
Jul 25, 2012
407
571
Bluegrass
The syntax reminds me of ADA which is what the DOD still uses it believe.

I am a full time developer if you have any questions. As far as converting programs to a new language, good luck. Even though C#, C++, and java are all very similar in syntax...converting a program from C# to Java would still require a significant effort IMO depending on the size of the project.
 

FantWriter

Super Member
ECF Veteran
Dec 11, 2010
601
5,429
Kentucky
I learned FORTRAN in college, at a time when you had to schedule time on the mainframe.

I can't really take a bite into this until I get a manual (it used to be available online, but no more) because some variables aren't -- i can't be assigned a value other than the square root of -1, for example. I know a few more, but not nearly enough.

Until I locate the manual, I guess the most I can do is try to flowchart it (and I hate, hate, hate flowcharting!).
 

DaveP

PV Master & Musician
ECF Veteran
May 22, 2010
16,733
42,646
Central GA
I'd start from scratch and buy a copy of Microsoft Visual Basic or Microsoft Visual C++. You are going to be faced with learning the built-in functions and procedures and all of the syntax associated with that, but you will be learning a new language that will be around for a while.

There was a time when Pascal was my favorite language because basic was ... just basic. Pascal had some new and updated built in tools. Then Dbase came along, then Clipper, followed by Foxpro.

Years later, I settled on Visual Basic and C++. There's always going to be a new language to learn. Java is king in the browser world these days.

Languages are so similar in function that you can usually translate what you know to what you are currently using. The code you posted to fill a 2 dimensional array would be populated using for/next or while/then or do/until constructs as well as any number of reiterative looping structures that are readily translatable to modern day engines. It's just a matter of setting aside some time to dive into the newness of a language and playing around until you get it.
 

DaveP

PV Master & Musician
ECF Veteran
May 22, 2010
16,733
42,646
Central GA
I learned FORTRAN in college, at a time when you had to schedule time on the mainframe.

I can't really take a bite into this until I get a manual (it used to be available online, but no more) because some variables aren't -- i can't be assigned a value other than the square root of -1, for example. I know a few more, but not nearly enough.

Until I locate the manual, I guess the most I can do is try to flowchart it (and I hate, hate, hate flowcharting!).

A translator is one way, but only if you can find one that uses your source code and can change it into your target language. Even then, you will have to massage and debug the output to fix issues with screen positional addressing, translation errors, and other little idiosyncrasies.

Source-to-source compiler - Wikipedia, the free encyclopedia
 
Last edited:

DaveP

PV Master & Musician
ECF Veteran
May 22, 2010
16,733
42,646
Central GA
That wouldn't be an issue -- the Atlas computer didn't have a screen!

My brother in law worked with some test equipment that ran Atlas OS. I didn't know what he was talking about at the time, but I suspected it was a language designed for test equipment. He repaired circuit boards from satellites and control electronics for F15s in an Air Force shop on base. I used to service some Star workstations and laser printers in EW (electronic warfare) at the time. They wouldn't even let you take a cell phone or a pager past the visitor's entrance. If you asked them what the pod they were working with did, they would tell you it was a fuzz buster for an airplane and smile.
 
Last edited:

Iffy

Vaping Master
ECF Veteran
Verified Member
Feb 3, 2011
9,626
79,411
Florida Suncoast
If you asked them what they pod they were working with did, they would tell you it was a fuzz buster for an airplane and smile.

I spent most of my 20 year ('65-'85) USAF career in ECM (Electronic Countermeasures), and that's da best unclassified description I've heard!
thumbsup.gif
 
Status
Not open for further replies.

Users who are viewing this thread