Click here to Skip to main content
15,896,111 members

Survey Results

What's your least favourite of these languages to code in?

Survey period: 17 Oct 2022 to 24 Oct 2022

And no, you can't pick more than 1. Add a comment if there's another language that bugs you even more.

OptionVotes% 
Javascript17019.10
VB6 / VBA13715.39
Any Terminal Script language (Powershell, bash, AppleScript etc))12113.60
Any form of Assembly11412.81
Python9210.34
Java829.21
C++819.10
Objective-C596.63
C343.82



 
GeneralRe: I like how Assembly is not at the top Pin
honey the codewitch19-Oct-22 0:37
mvahoney the codewitch19-Oct-22 0:37 
GeneralRe: I like how Assembly is not at the top Pin
trønderen19-Oct-22 1:56
trønderen19-Oct-22 1:56 
GeneralRe: I like how Assembly is not at the top Pin
jeron118-Oct-22 11:57
jeron118-Oct-22 11:57 
GeneralRe: I like how Assembly is not at the top Pin
trønderen19-Oct-22 0:00
trønderen19-Oct-22 0:00 
GeneralRe: I like how Assembly is not at the top Pin
den2k8819-Oct-22 0:47
professionalden2k8819-Oct-22 0:47 
GeneralRe: I like how Assembly is not at the top Pin
trønderen19-Oct-22 5:24
trønderen19-Oct-22 5:24 
GeneralRe: I like how Assembly is not at the top Pin
Daniel Pfeffer19-Oct-22 5:18
professionalDaniel Pfeffer19-Oct-22 5:18 
GeneralRe: I like how Assembly is not at the top Pin
trønderen19-Oct-22 6:25
trønderen19-Oct-22 6:25 
I never programmed PDP-8 myself, but I know people who did, telling how they never allocated a constant in memory if there happened to be, say, an instruction within the same memory page having the same bit pattern as the constant they needed: Then they could reference that location, rather than wasting an entire word (12 bits) for a second copy of the same bit pattern ...

Well, I guess that was 'fun', sort of. I prefer to leave the fun to the compiler. If it finds the desired constant value bit pattern as some instruction code it has already generated, I'll let it have that fun - as long as it promises not to assume that the same reference is valid when the code changes to a different value.

I did play around with assembly programming for a few years. I got (and still have) the impression that most of those touting assembly as a way to speed up you code rarely compare the actual execution time for compiler generated code compared to their hand assembled one. With modern CPUs, reducing the number of instructions within a tight loop may have next to zero effect on execution time; reducing the number of iterations is far more significant - and can be done in a high-level language as well. I never had an assembly programmer tell me 'Look how much my assembly coding speeded up the application at the end user interface level!' - it is always 'Look at the speedup of this 17-instruction innermost loop!' And quite often, the assembler coder shows me how he has eliminated loops, in a way that could have been done in the high-level language as well. Yet, unrolled (/modified algorithm) code is compared to iterating HLL performance.

Imagine that you could set up with PCs with identical applications, two of them with given modules coded in assembler, two in C, and the fifth may be either variant. Set up an automatic process to enable either variant on either of the five PCs (keeping the 2 + ? + 2 distribution) and invite end users in to run the applications on all five machines, and 'vote' whether they think that the application is pure high level code or has essential modules assembly coded. I am afraid that the verdict would be rather disappointing for assembly coding addicts.

Quite often, the speedup gained from assembly programming is not primarily due to inefficient code generated by compilers, but because assembly allows direct access to specialized hardware functions. If end users in the blind test described above were, with some statistical significance, able to identify the assembly coded alternatives, I am quite sure that a closer inspection would show that the assembler coders were using hardware not utilized by the high-level language code. A compiler ready to use the same specialized hardware can generate (for all practical purposes) equally efficient code. That is one of the good things about .net and JIT compilation at the target machine: It allows the JIT compiler to utilize any locally available hardware which is not necessarily available in other contexts.

Assembly has two essential purposes: To access hardware facilities not otherwise accessible from high level languages. And (not unrelated to the first!) as an educational tool to see how the computer works at the machine code level. See what the compiler is going after.

For general code, not accessing specific hardware functions, the compiler will be a lot better than you to generate optimal code. It has been that way for at least thirty years. Even the FORTRAN II developers had to spend great efforts to understand how their compiler had been able to discover how a piece of code could be twisted around to execute faster, even if they had written the optimizing algorithms themselves. It is sort of like a chess championship: Cheating is based on advice from a computer, not from a human grandmaster.
GeneralRe: I like how Assembly is not at the top Pin
Daniel Pfeffer19-Oct-22 7:17
professionalDaniel Pfeffer19-Oct-22 7:17 
GeneralRe: I like how Assembly is not at the top Pin
jochance18-Oct-22 11:57
jochance18-Oct-22 11:57 
GeneralAh, yet another bad survey Pin
PIEBALDconsult17-Oct-22 3:22
mvePIEBALDconsult17-Oct-22 3:22 
GeneralRe: Ah, yet another bad survey Pin
trønderen19-Oct-22 0:39
trønderen19-Oct-22 0:39 
GeneralJS Pin
Ron Anders17-Oct-22 1:49
Ron Anders17-Oct-22 1:49 
GeneralOther Pin
Nemanja Trifunovic17-Oct-22 1:48
Nemanja Trifunovic17-Oct-22 1:48 
GeneralRe: Other Pin
NPowDev18-Oct-22 6:45
NPowDev18-Oct-22 6:45 
GeneralAny terminal script language, because... Pin
Sander Rossel16-Oct-22 21:54
professionalSander Rossel16-Oct-22 21:54 
GeneralPL/SQL Pin
M.Vo.16-Oct-22 20:20
M.Vo.16-Oct-22 20:20 
GeneralRe: PL/SQL Pin
Kirk 1038982118-Oct-22 3:59
Kirk 1038982118-Oct-22 3:59 
Generalwhy was C# left out of the choices ? Pin
BillWoodruff16-Oct-22 19:56
professionalBillWoodruff16-Oct-22 19:56 
GeneralRe: why was C# left out of the choices ? Pin
Martin ISDN17-Oct-22 3:43
Martin ISDN17-Oct-22 3:43 
GeneralRe: why was C# left out of the choices ? Pin
BillWoodruff17-Oct-22 4:23
professionalBillWoodruff17-Oct-22 4:23 
GeneralRe: why was C# left out of the choices ? Pin
kmoorevs17-Oct-22 3:45
kmoorevs17-Oct-22 3:45 
GeneralRe: why was C# left out of the choices ? Pin
Ravi Bhavnani17-Oct-22 10:49
professionalRavi Bhavnani17-Oct-22 10:49 
GeneralRe: why was C# left out of the choices ? Pin
Member 202563017-Oct-22 23:42
Member 202563017-Oct-22 23:42 
GeneralRe: why was C# left out of the choices ? Pin
Kirk 1038982118-Oct-22 4:07
Kirk 1038982118-Oct-22 4:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.