Có nên chọn Assembly làm ngôn ngữ lập trình đầu tiên cho người mới học?

Mình năm nay đã 20 tuổi, có hứng thú với lập trình từ rất lâu, nhưng đến tận bây giờ mới quyết định bắt đầu học. Mình nghe bảo assembly là ngôn ngữ đơn giản gần nhất với ngôn ngữ máy, và việc biết assembly có thể giúp cho lập trình viên hiểu được cách hoạt động của code được sâu hơn.

Nên liệu học assembly khi bản thân chưa biết gì về lập trình, có khả thi không? Có lợi ích gì hỗ trợ cho việc viết code so với những người không biết assembly không? Và học xong assembly thì việc chuyển sang Python hay Javascript, sẽ dễ hơn và nhanh hơn không? (Vì mình nghe rất nhiều người khuyên học Python vì nó là ngôn ngữ dễ tiếp cận nhất). Hay nên học thẳng Python hoặc Go luôn?

1 Like

Không !
Nên là C hoặc C++.

3 Likes

Thế tức là không thể hay không nên chọn assembly làm ngôn ngữ lập trình đầu tiên ạ?

Không nên vì nhiều lý do.
Được thì ít mà mất thì nhiều.

3 Likes

Assembly được dùng nhiều trong những năm 80 thế kỉ trước. H chết queo rồi (cứ cho là vậy đi). Học cho biết để hiểu máy tính hoạt động như nào chứ còn lập trình bằng assembly thì chắc helloworld cũng phải vài tháng.

2 Likes

Vậy là bây giờ không ai dùng assembly nữa ạ? Vì nó chết mất rồi.

Nó vẫn được dùng nhưng mà chỉ dùng ở nơi có yêu cầu đặc biệt mà nó là phù hợp nhất.

4 Likes

Mới học lập trình ở mức độ vỡ lòng thì bạn nên làm quen với tư duy logic lập trình trước đã, bằng cách chọn “đại” một ngôn ngữ có cú pháp đơn gian để làm quen với các câu lệnh if else, switch case, lambda, … các kiểu dữ liệu, khai báo biến, … Ví dụ Python cú pháp dễ. Sau đó học những công nghệ không phụ thuộc ngôn ngữ như cấu trúc dữ liệu, giải thuật, mạng, cấu trúc máy tính, … Khi đã “cứng” rồi thì tập trung chuyên sâu vào 1 ngôn ngữ/công nghệ.

#minh

5 Likes

Mình đang bỗng dưng có ý định học assembly như là ngôn ngữ lập trình đầu tiên, xem mất gì và được gì, rồi xem từ assembly chuyển sang những ngôn ngữ khác như Python mất bao lâu, rồi viết bài chia sẻ lại vậy.

đó là lựa chọn của bạn nhưng nếu bạn xin lời khuyên thì bạn BaoBao nghe hợp lý
nhưng còn tùy vào mục đích vào sở thích của bản thân bạn nữa
chúc bạn may mắn
Chào thân ái và quyết thắng

3 Likes

“nghe nói” câu thần chú để đi đặt những câu hỏi nhảm nhí
Bạn lên đây hỏi, ở trên đây trả lời thì không phải “nghe nói” hay sao, hay gọi là “đọc từ người ta viết”?
Nếu bạn không tin những gì “người ta” nói thì sao không tự trải nghiệm, đam mê mà vậy à
Câu hỏi và các câu comment của bạn có vẻ như kiểu bạn rảnh rỗi hỏi nhảm hơn là thật sự thắc mắc

4 Likes

Mình hỏi, vì muốn nghe ý kiến của mọi người về quyết định này, để suy nghĩ cẩn thận hơn. Bạn không cần phải dùng ngôn từ kích động đến mức như vậy đâu ạ.

Nếu bạn xem đó là nhảm nhí, thì bạn có thể lướt qua để giữ tâm tình mình thanh tịnh. Chứ vào đây đoán mò về ý định của người khác, rồi vu khống vô cớ chỉ vì cảm giác, mình thấy không hay lắm đâu.

1 Like

Để tiết kiệm (có lẽ khoảng vài tuần hoặc vài tháng?) thanh xuân cho bạn thì mình đưa ra lời khuyên là “Không”.
Nếu không muốn nhận voucher thất bại 90% khi vừa bước chân vào lập trình thì nên từ bỏ ý định về Assembly đi nhé.
Chỉ là lời khuyên, quyết định là tùy bạn.

4 Likes

bạn học sử dụng ngôn ngữ thôi mà có gì đâu căng thẳng vậy bạn. Bạn tự lên Youtube hoặc đọc tài liệu 1 vài tuần là biết nó có hợp với bạn không thôi, có phải mua đất, mua nhà đâu mà bạn phải cân nhắc kỹ dữ vậy, nếu bạn không tính kỹ trước khi mua xe thì sợ tiền mất, đỗ nợ chẳng lẽ bạn học nhầm ngôn ngữ sợ tốn 1 tháng thanh xuân của bạn? cứ cho là bạn học nhầm ngôn ngữ dead thì cũng có thêm kinh nghiệm thôi.

có phải lý do là bạn đang lựa chọn ngôn ngữ?

Có nhiều lí do khiến cho mọi người khuyên bạn không nên chọn ASM như là 1 ngôn ngữ bắt đầu nếu ý định của bạn chỉ là thích. ASM gần với ngôn ngữ máy nhất -> nó sẽ cực kì đơn giản đến mức cực kì phức tạp. Nhiều task với các ngôn ngữ khác chỉ cần 1 dòng thì với ASM bạn có thể phải hì hục gõ cả 1 trang giấy chỉ để ra lệnh cho máy tính thực hiện từng chút một để đạt được mục đích. Ngoài ra việc bạn biết ASM cũng chẳng khiến bạn có thể học 1 nnlt bậc cao dễ dàng hơn đâu nhưng effort bỏ ra để có thể gọi là nắm được ASM thì cực kì lớn.

4 Likes

Mình vừa lân la tìm kiếm được một khóa học dùng ngôn ngữ assembly giả lập gần giống ARM dạy lập trình cho người chưa biết gì ngay từ đầu trên Coursera miễn phí tên là Nand to Tetris.

Học được thì hay, bạn sẽ hiểu máy tính nó quản lý bộ nhớ và xử lý như thế nào. Hiểu cái gốc gác thì quá hay hơn.

4 Likes

mình nghĩ là ko nên học assembly là ngôn ngữ lập trình đầu tiên.

Khó tiếp cận nó sẽ làm bạn mất hứng thú với việc học lập trình

Ngôn ngữ lập trình đầu tiên nên dễ tiếp cận, dễ làm dc những cái hay ho để làm gia tăng sự hứng thú và đam mê. Vì thế mình nghĩ Python là tốt nhất rồi, còn ko thì C cũng ok vì C theo mình nghĩ khá là nhỏ ko phải học 1 đống thứ linh tinh như OOP này nọ.

Mình ko nghĩ là ngôn ngữ lập trình đầu tiên nên học càng gần máy tính càng tốt. Ngôn ngữ lập trình đầu tiên nên làm cho bạn cảm thấy thích lập trình chứ ko phải làm bạn chán nản. Còn những cái cao siêu hơn khi bạn thích rồi thì bạn sẽ học dc. Chẳng có ai nói là người học C/C++ là ngôn ngữ lập trình đầu tiên thì sẽ giỏi hơn người học Python JavaScript này nọ cả. Còn nói thật học assembly là ngôn ngữ đầu tiên thì sẽ ko giúp gì cho bạn hiểu dc tư duy lập trình cả, nó sẽ ko khác gì bạn đang học thuộc lòng từ mới cả, nó sẽ làm bạn chán nản và từ bỏ học lập trình thôi

3 Likes

Với đa số mọi người thì mình sẽ khuyên là nên bắt đầu từ python.
Tuy nhiên, sau khi đọc hết các bình luận của bạn thì mình nghĩ bạn cứ thử học Khóa học Nand to Tetris đó xem.
Bạn có chính kiến, sở thích, sự tỉ mỉ và ý thức cộng đồng. Bạn có tố chất của một người học low level language.
Chúc bạn thành công. Mình mong đợi bài chia sẻ của bạn.

5 Likes

Không ai lại đi học ASM làm ngôn ngữ đầu tiên cả vì muốn học ASM bạn phải hiểu rõ về kiến trúc của máy tính, nhất là về tập lệnh CPU. Người dùng ASM thường đi theo hướng liên quan đến ngôn ngữ lập trình, compliler, về hệ điều hành, làm firmware,… Nên bạn phải xác định kĩ có theo ngành có liên quan đến ASM hay không để học.

Ngoài ra ít ai code asm only, thường người ta sẽ kèm theo code C và C++ nữa nên bạn cũng nên học 2 nn này

8 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?