01/10/2018, 16:56
Lập trình chỉ là if else thôi ạ?
Em học lập trình 1 năm qua chỉ thấy toàn sử dụng if,else,else if,loop thấy nó cứ kém kém kiểu gì đó.Có kiểu lập trình nào hay hơn không ạ?Chứ 1 chương trình lớn chỉ là tập hợp của nhiều câu lệnh rẽ nhánh thì tấm thường quá.
Bài liên quan
Tạo sao bạn lại nghĩ
if,else,else if,loop
Là tầm thường và kém kém ?? Theo bạn thì một chương trình thế nào thì mới là cao siêu ?Cũng muốn lắng nghe xem bạn Khanh này expect điều gì mới làm nên chương trình cao siêu, ghê gớm.
Sai hoàn toàn nha bạn.
Bạn cứ học tiếp đi sẽ thấy, sau này còn nhiều món hay lắm.
Học lập trình 1 năm rồi mà thế này sao trời @@.
Thần đồng đây òy !
Do cách bạn học, chứ giáo trình nào mà tù vậy
Là bạn tự học hay có người dạy ?
Bạn nên tự học, tự tìm hiểu thêm sẽ thấy nhiều cái thú vị chứ không chỉ là những thứ bạn cho là
kém kém kiểu gì đó
Bạn mới là tầm thường chứ đừng nói lập trình là tầm thường. Không có lập trình thì sao bạn vẫn vô đây chém gió với mọi người được? Bạn đã học xong cơ bản về lập trình chưa mà bạn dám nói vậy?
đơn giản là số 0 và 1 thôi chứ không phải if else nếu bạn thấy tầm thường quá thì chuyển sang học mã máy đi không dùng if else nhiều đâu…
Lập trình thì đúng chỉ là if else với loop thôi chứ sao, như kiểu ngôi nhà có đẹp đến đâu chẳng qua cũng chỉ là làm nên từ những viên gạch hay cùng lắm là đá + với sắt thép.
Mấy cái đó có thể bình thường, nhưng không tầm thường. Nó chỉ tầm thường, khi kẻ cầm những viên gạch đó cũng là kẻ tầm thường mà thôi.
Cảm giác như này, khi mới vào nghề, ai cũng có thể từng gặp phải, không chỉ lập trình, mà nghề khác cũng vậy.
Người ta học, thấy không hiểu, có thắc mắc thì lên hỏi. Anh chị em không giải thích thì thôi, mà còn bu vào chê bai người hỏi, thay vì suy nghĩ để hiểu vì sao người ta lại hỏi vậy.
Có thể anh ấy rất cao siêu thấy những thứ này tầm thường nên muốn hướng đến những thứ cao siêu hơn. Cũng có thể anh ấy học chưa sâu vào nên thấy nó đơn giản. Nhưng mà cách anh ấy nói có vẻ như là xem thường lập trình chứ không phải là 1 câu hỏi hay thắc mắc ạ. Đó là ý của em, có gì anh chị góp ý ạ
có cái cao siêu hơn nhóe, ví dụ như state machine. Áp dụng điển hình là regular expression: muốn xét password có chứa chữ hoa, chữ thường, chữ số và chữ đặc biệt hay ko, thay vì if else for while, chỉ cần xài 1 dòng regex là xong. Regex là FSM, finite state machine. Còn có state machine “mạnh” hơn nữa là pushdown automaton, ví dụ áp dụng trong game khi em bấm “pause” là nó push 1 state mới lên stack chứa các state. Thay vì phải kiểm tra if else có pause hay ko để vẽ các hình tương ứng, ở đây em chỉ cần push pop cái states stack là xong. Đương nhiên vẫn có if else trong state machine nhưng thay vì viết 100 cái if else ở ngoài main(), em chỉ viết 2-3 cái if else trong state machine thôi.
cái cao siêu hơn nữa là nhân ma trận gì đó, áp dụng trong machine learning. ML ko phải là if else ko mà nó xài ma trận tích phân vi phân toán học cao siêu gì đó để thống kê tìm ra cách dụ người tiêu dùng mua hàng ko cần thiết Ko biết bao nhiêu tiến sĩ thạc sĩ nghiên cứu ngành này để dẹp bỏ if else đó.
cái này đúng là thú vị nè
em ko thích if else thì khi viết code tìm cách đừng xài if else.
ví dụ tính số ngày trong tháng: thay vì xài if else switch case em có thể xài look-up table, tức là tạo 1 cái mảng 12 số
daysInMonth[12] = {31, 28, 31, ...}
, rồi chỉ cần lấydaysInMonth[month - 1]
là ra, khỏi phải viết 12 dòng if else. Em rảnh hơn nữa thì đi mã hóa 12 ngày trong tháng thành 1 số nguyên duy nhất, ví dụ 0x3bbeecc rồi xài28 | 3 & 0x3bbeecc >> month * 2
là raví dụ khác tính xếp loại giỏi khá trung bình v.v… thay vì if else >=8, >=6.5, >=5 em có thể lấy
static_cast<diem / 0.5>
là ra số nguyên thuộc đoạn[0, 20]
, em chỉ cần tạo mảng 21 số nguyên 0=giỏi, 1=khá, v.v…xepLoai[21] = {..., 1, 1, 1, 0, 0, 0, 0, 0}
rồi trả vềxepLoai[static_cast<diem / 0.5>]
là xong, khỏi phải if elsechẳng biết bạn này là người mới chưa học tới nơi tới chốn hay là cao siêu quá rồi chê bai đây
nếu bạn thấy mình cao siêu quá thì mình chẳng có gì để chia sẻ.
còn nếu bạn là người mới thì chia vui. Mình ngày xưa cũng chán nản vậy thôi, ai mới mà chẳng vậy (đặc biệt là tự học). Nếu thấy chán thì cứ kiếm mấy cái thú vị hơn mà làm ví dụ lập trình mạng, lập trình giao diện, hay tìm hiểu về multimedia thử xem, thử lập trình hệ thống nữa, … Hãy tự làm sản phẩm để rồi bạn sẽ thấy những cái tầm thường mà bạn nói bây giờ tầm thường như thế nào.
Mình không thấy chán mà chỉ thấy thắc mắc là lập trình chỉ là tổ hợp mấy thứ đó cộng lại ở mức độ phức tạp tùy chương trình thôi sao
Hay quá anh ơi,em thích kiểu vậy đó
học lập trình 1 năm mà phát biểu :))),
Giai đoạn đó bình thường thôi bạn.
Khi học bất kì môn gì luôn trải qua 5 giai đoạn:
Nếu thời gian học 1 lĩnh vực trung bình là 3 năm, thì 6 tháng để đi từ (1) đến (3), mất tiếp khoảng 2 năm để từ (3) và (4), đạt đến chạm đáy vô vọng. 6 tháng còn lại bắt đầu giai đoạn (5).
Mình nghĩ quá trình học của bạn ở giai đoạn (3). Chỉ cần quyết tâm và không từ bỏ thì bạn sẽ tiếp tục được trong học lập trình.
Mình quên cái tên biểu đồ này rồi. Ai biết cho mình cái tên đi. Search Google không ra.
Stages of Competence?
Trong thực tế thì sự tiến triển như một vòng xoắn ốc vậy, chứ không thẳng lên một đường.