First language
-
Matthew Faithfull wrote:
There's not too many MIPS assembly programmers out there.
I learned it in college and while they were teaching it to us they told us, "You will never use this ever again." :doh:
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
At least they were honest, my M68000 assembly lecturer swore that we weren't wasting our time :rolleyes:
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
:laugh: You'll have to wait for the article to find out. As with all good OO code the classes do all of it. There's a low level and a high level assembler, full FPU and MMX support up to SSE4.2. ~24 KLOC. It's all based on AsmJit with the coolest part I've added being JIT functors. I just love calling a function that doesn't exist when I call it and have it work :-D
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Clearly that would be after adding AVX but yes it can be added easily enough if I can get hold of the necessary information, register details, opcodes, instructions and any usage rules. It should be a few days work if it doesn't introduce a new register type, quite a few days if it does. The only problem I can forsee might be the lack of a 128bit numeric type in C++ if as I assume AVX has gone to 128bit SIMD or larger. However that can be worked around. ... Looking a bit deeper the new wider 256 bit registers won't be an issue because were already handling 128 bits for XMM although the YMM type will take a few days to work through all the cases but the new VEX coding scheme might require some non trivial code changes. Hmm more to add to the TODO: section of the article and it isn't even submitted yet.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Clearly that would be after adding AVX but yes it can be added easily enough if I can get hold of the necessary information, register details, opcodes, instructions and any usage rules. It should be a few days work if it doesn't introduce a new register type, quite a few days if it does. The only problem I can forsee might be the lack of a 128bit numeric type in C++ if as I assume AVX has gone to 128bit SIMD or larger. However that can be worked around. ... Looking a bit deeper the new wider 256 bit registers won't be an issue because were already handling 128 bits for XMM although the YMM type will take a few days to work through all the cases but the new VEX coding scheme might require some non trivial code changes. Hmm more to add to the TODO: section of the article and it isn't even submitted yet.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
AVX adds 256bit YMM registers (their lower halves are aliased to the XMM registers), but the same data types as before. It's a lot as though you're working with two XMM registers at once (and the instructions that "cross" the boundary between the two halves are all a little slow so far). They also use the new VEX prefix[^] (which are LES and LDS with carefully selected operand bits to invert so that they're invalid LES and LDS in 32bit mode) instead of the usual prefixes and you get an extra operand, so the encoding is pretty different and it's probably not trivial to add.
-
Was replying and your latest disappeared so I lost permission to post :wtf: Anyway: Was just looking into the same and modified my previous post. I think the VEX prefix business will cause the most problems. I'm not really the man for the job either as I am no assembly expert and I don't have a Haswell to test it on. If I get a chance I'll suggest AVX support to Petr and see what he reckons or you could sign up to the AsmJit Google group [^] and suggest it yourself. Are you making use of Haswell/AVX2 for anything or just interested in the bleeding edge?
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.
-
I learned German (my mother was German) and English pretty much at the same time as a tyke. My first computer program was written in IBM 1620 assembly language. Now I speak mostly English and Spanish (my wife is Bolivian) and haven't seen an IBM 1620 in a long, long time!
CQ de W5ALT
Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software
Tamil and Fortran II on an IBM 1620!
-
English and Hindi in equal measure. LEO III assembler and Intercode (some years later).
Use the best guess
Hindi? You must have been born in India or in Bradford! :laugh:
-
thatraja wrote:
English & HTML
HTML isn't a language. It's an abomination. ;) Marc
-
Was replying and your latest disappeared so I lost permission to post :wtf: Anyway: Was just looking into the same and modified my previous post. I think the VEX prefix business will cause the most problems. I'm not really the man for the job either as I am no assembly expert and I don't have a Haswell to test it on. If I get a chance I'll suggest AVX support to Petr and see what he reckons or you could sign up to the AsmJit Google group [^] and suggest it yourself. Are you making use of Haswell/AVX2 for anything or just interested in the bleeding edge?
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
You modified your post so mine became pointless.. Well, I have a Haswell and I'm an assembly expert(I guess?), so maybe I could do something there :) I'm using AVX2 in VLC (working on sound format converters), that's just regular pre-assembled assembly though.
-
I learned German (my mother was German) and English pretty much at the same time as a tyke. My first computer program was written in IBM 1620 assembly language. Now I speak mostly English and Spanish (my wife is Bolivian) and haven't seen an IBM 1620 in a long, long time!
CQ de W5ALT
Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software
-
Hindi? You must have been born in India or in Bradford! :laugh:
-
You modified your post so mine became pointless.. Well, I have a Haswell and I'm an assembly expert(I guess?), so maybe I could do something there :) I'm using AVX2 in VLC (working on sound format converters), that's just regular pre-assembled assembly though.
You sound like the right man with the right tools. I'll let you know as soon as the article goes up and hopefully the source will be up on SourceForge by then as well. You're more than welcome to chip in, branch, rewrite in Haskell etc. :)
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.
Fortran IV and Basic/English
-
Marc Clifton wrote:
HTML isn't a language.
"HTML" is an acronym. The "L" in "HTML" stands for "Language", as in "HyperText Markup Language"...
-- Harvey
H.Brydon wrote:
The "L" in "HTML" stands for "Language", as in "HyperText Markup Language"
As opposed to "HTPL" for "HyperText Programming Language", presumably.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.
Brazilian Portuguese and mIRCScript (yes, I used to be a script kiddie ;P). Obviously nobody builds LOB apps on top of mIRC, so nowadays my main programming language is SQL/T-SQL.
-
Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.
Proper English and FORTRAN II. I have little use for either anymore since both appear to be obsolete in the US.
Will Rogers never met me.
-
Just to prove Eric right. English and Sinclair BASIC. I've used at least 9 different variants of BASIC over the years but I haven't touched it for a few now. I made the switch to Borland Turbo C++ 0.99 ( The almost perfect version :laugh: ) in 95 and never looked back.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
What an odd path, I had the same sort of decision around 95 as well, ended up with VB after spending 6 months building an app in turbo pascal that had so many memory leaks it blew a brand new 386 away. Just showed my lack of training I guess. Now it is c# and I really don't want to have to change again!
Never underestimate the power of human stupidity RAH
-
Έτσι, αυτό είναι ελληνικά σε σας; [So, is this Greek to you?]
Ναι, είναι ελληνικό για μένα, αλλά δεν είναι "ελληνικό" για μένα. However: Graecum est; legitur. [Yes, it is Greek to me, though it is not "greek" to me.] :-D Fun read! http://en.wikipedia.org/wiki/Greek_to_me[^] Of course, the end of it all: Αυτά μου φαίνονται αλαμπουρνέζικα.
-
What an odd path, I had the same sort of decision around 95 as well, ended up with VB after spending 6 months building an app in turbo pascal that had so many memory leaks it blew a brand new 386 away. Just showed my lack of training I guess. Now it is c# and I really don't want to have to change again!
Never underestimate the power of human stupidity RAH
It seems odd from the outside but it didn't to me at the time. Not only was the DOS based IDE for Turbo C++ really very similar to the DOS based IDE for QBasic which I'd graduated to but C++ gave me many of the things I was looking for in BASIC and not finding. The ability to write larger programs, dynamic memory allocation, serializing, objects with constructors and private functions, loadable modules. I was already trying to do these things either by simulation or convention so C++ made my life easier rather than harder. Reuse by inheritance was the clincher, not having to create another UDT with all the same stuff as the last one :thumbsup: I guess if I'd had access to VB at that point that's the way I would have gone as it did eventually provide many of those things. I did pick up VB5 and 6 later on and even ported some of my QBasic code but I found it curiously unsatisfying and then again VB6 for a bit of commercial work when it was the only practical way to use DCOM but I handed that project off pretty quickly and the next guy pretty much rewrote it. I guess once you've moved on there's no going back and that's probably a good thing. Having said that I did 3 months of C# last year and am quite happy going back to C++, the C# was fun but it reminded me of the plasticy feel of VB somehow.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)