[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Although not recommended does /g/ think Assembly x86 is a good

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 23
Thread images: 2

File: TAqXs.png (8KB, 383x178px) Image search: [Google]
TAqXs.png
8KB, 383x178px
Although not recommended does
/g/ think Assembly x86 is a good first programming language for someone who is new to programming?

Like reading out of a pdf or book learning.
>>
>>60636658
No, any other assembly would be better.
>>
no.
C - when you want the power of assembly with the speed of assembly.
>>
I personally have always thought that starting closer to the metal is the best way to learn programming. You're literally beginning from the ground up. Most people make the mistake of starting with too much abstraction in Java or Python and then once they're met with C their head turns upside down.

I would recommend starting with MIPS and then moving to x86. MIPS is just easier to use.
>>
>>60636658
Learn C/C++ or any low level programming language. Assembly is something which needs a greater understanding about how a processor works.
>>
>>60636658
x86 sucks ass, learn it later (and be ashamed that this is the architecture still in use)
Z80's simple, 68k is pretty comfortable to work with, ARM looks neat and not a pain and would at least be a relevant, modern platform but I've never done anything with it

>>60636685
honestly, this

C's overhead only really matters with a: ultra-tight loops or b: sub-10MHz CPUs (only place you're going to be dealing with that these days is retroprogramming for old computers or game consoles)
otherwise, C's easier, more readable, more portable (unless you're still doing really bare-metal stuff), etc than asm

>>60636737
?
Learning asm is fantastic for learning how the machine works.
>>
>>60636658
no, thats like driving a spaceship to learn how to drive a car
>>
The main isssues with x86 are the following
>many deprecated opcodes (all of x87 is deprecated at this point other than calling convention)
>new instruction set extensions are always being added, so you always will have to be making sure your CPU supports the instructions you're using
>amd dropped support for many of their instruction set extensions, like XOP and TBM
>many opcodes are implemented in a very obtuse way (like rep movsb)
>most assemblers aren't particularly user friendly

Assembly is good to learn, but x86

assembly in particular is just a horrible instruction set. If you use C, you can just look at the assembly produced for functions through gdb or objdump.

You also have to consider that assembly programming is really tedious. If you fuck up the stack alignment or something simple like that, the program will crash and be really annoying to debug.

>>60636685
That's not true if you're using SSE or AVX

>>60636693
>I personally have always thought that starting closer to the metal is the best way to learn programming
This is good advice. Starting without abstraction is good. I'm not sure if I'd immediately go into assembly over C, but MIPS is probably the simplest ISA out there with actual hardware support.
>>
>>60636751
>C's overhead only really matters with a: ultra-tight loops or b: sub-10MHz CPUs
No C compiler can do a good job at SIMD optimization, currently. A hand-written matrix multiplication in SSE will go at least 3x faster than what GCC offers, on most CPUs.
>>
If you give a shit about low level programming, start with C. Otherwise, especially if you're new to programming this late in life and just want to make cool shit, start with js for web, or java for Android apps.
>>
>>60636756
But maybe i want to drive a spaceship.
>>
>>60636658
Don't learn assembly as a first language.

It would be like learning how shoes are made instead of learning how to walk.
>>
File: Kosha_Saraba.gif (2MB, 533x300px) Image search: [Google]
Kosha_Saraba.gif
2MB, 533x300px
>>60637285

This. 100x this.
>>
>>60636806
You could just write inline assembly for that, I guess.
>>
>>60636756
No, it's more like learning how a car works down to every nut and bolt just to learn how to drive a car.
>>
>>60637358
Yeah, that's what I do when I need to work with sse. On x86, it's nice to be able to just write one function that can be recompiled to support either x86 or x64. With actual assembly, you'd need to fuck around with macros to do that.
>>
>>60636756
Ye but can you imagine how good he'll be at cars when he's done?
>>
>>60637604
He won't be though. Obviously it'll be easier to learn how to drive a car, but it'll be totally different. If you taught assembly to somebody first, then tell them to make an Android app, they won't be able to do it right away even though basic android apps are easy.
>>
>>60636658
Read SICP. It doesn't matter how 'good' or 'bad' of a programming language Scheme is for whatever purpose. That book is enough tto justify the programming language it uses.
>>
dont do assembly as your first language
do C at the lowest, honestly I recommend something higher level like Java or Python
when you start programming you dont want to worry about low level stuff you want to be learning how to thinking in a programmer way and Python lets you do that the best without getting in the way
>>
>>60636658
You should learn how to read assembler and maybe do a hello world nothing more
>>
>>60640121
You never know when it might come in handy. I've been putting off learning MIPS ASM for the last few years and I could really use it now
>>
If you just want to learn, start from C or C++.

Assembly will be overwhelming at first.
Thread posts: 23
Thread images: 2


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.