Monday, 22 November 2010

Bỏ cuộc...

Dưới đây là 1 bài post trong 1 diễn đàn Programming. Tớ chỉ sơ dịch vài đoạn. Còn lại ai muốn đọc thì từ đọc :D

I started to program two days ago.
I'm already giving up.

Why?

Well, firstly, it seems that even when looking at tutorials, I have no idea what I'm doing and what my understanding is. I'm just following a tutorial, without any understanding.
Secondly, there seems to be little to learn from.

I don't know what else to say.


What should I do? Quit and wait for college?

Keep going without understanding?
Just confused. :\


Tôi đã cố học lập trình được 2 ngày hôm nay, và giờ tôi đã bỏ cuộc.
Trước tiên, khi tôi đọc tut, tôi không biết là mình đang làm cái gì nữa. Tôi chỉ làm theo các dòng tut mà không hiểu gì
Thứ 2, có quá ít thử có thể học từ các tut ấy
Tôi nên làm gì tiếp đây? Dừng lại và chờ đến khi học đại học hay tiếp tục mà không hiểu gì?




I started to learn how to build houses 2 days ago.
I'm already giving up.
Tôi đã cố học xây nhà 2 ngày hôm nay, và tôi đã bỏ cuộc

You could replace this with all kinds of technical skills.

You only put 2 days in, what did you expect to learn in 2 days (in which you probably did other things as well). Did you understand Algebra the first two days you took the class in school?
Bạn mới chỉ bỏ 2 ngày ra, bạn đã mong đợi học được những gì trong 2 ngày. Liệu bạn có thể hiểu về Đại số sau 2 ngày học ở trường không?

If you give up this easy, you aren't going to make it very far. Get off your ass and try a little harder. If you actually made the choice to attempt programming, that means you have some level of interest in it, so give it some effort. Maybe it'll practice you in how to learn something with out some teacher/master/director pointing you down every path you need to go. Explore damn, exploring takes a little while, but it damn sure expands your experience... it helps in teaching you how to think on your toes.
Nếu bạn bỏ cuộc bởi những thứ đơn giản như vậy, bạn sẽ không thể tiến xa được. Ngồi xuống và thử cố gắng hơn, nếu bạn thực sự đã chọn con đường lập trình, nghĩa là bạn phải thích thú với nó ở 1 mức nào đó, bởi thế hãy dành cho nó 1 sự cố gắng nhất định. Có thể bạn sẽ phải tập học một thứ gì đó mà không có ai chỉ dạy tự khám phá, sẽ mất một chút thời gian nhưng nó đáng giá!

Oh and don't just stick to 'tutorials'... tutorials are give a fish style learning. You learn how to do ONE thing and they barely teach you what really is going on. Get your hands on some books about programming (and they don't even have to be language specific... get books about a paradigm you like, today's popular one is OOP). Read the text, explore the examples in the text, then read a tutorial and try to figure out how the text matches the tutorial. Ask yourself "how did the author of this code apply the concepts of programming to invent this block of code." Dig through open-source code, better because a lot of tutorials tend to try to hard in describing a specific problem, and a large collection are written by novices. Where as open-source projects tend to be by more experienced coders who also deal with more real world problem solving that recur frequently. Dig through any code really... and just think about it, examine it, look for patterns.

Then go find some problems to solve, and solve them, with out a tutorial!



Think about it, it's like learning a language. You don't learn the 'rules' of English when you first learn English. You're handed a bunch of text, and a couple words, and your asked to just USE and EXAMINE it. Then as time passes, you find new words, teachers give you new words, you invent new words. Through experience you learn how these words combine just from hearing other people use them. It's not until you've had a decade of experience with the language when you actually began to learn the actual 'structure' and 'rules' of English (hence why I think the foreign-language classes of highschool are failed... they decide to teach you rules like conjugation and the sort. I live in south florida and the spanish speaking kids would fail this shit... wonder why? Because they just 'know' how to do it... English conjugates exist as well, yet do you ever stop to think about the difference between ran/run/runs?)

So personally (not to say this works for everyone)... I approached programming like I approach foreign language. You know that phrase, "it's easiest to learn French to move to France and surround yourself with it." I found it leaps and bounds easier to just bury myself in programming talk, textbooks, communities (like this forum for instance), and just try to keep up with everyone. You sound like that bumbling fool for the first few months... Then before you know, just one day, you wake up... and you're speaking C++.
// Bạn có biết câu: "cách dễ nhất để học tiếng Pháp là chuyển đến nước Pháp và đắm chìm mình trong tiếng Pháp." Hãy trôn mình vào những cuộc thảo luận về lập trình, những cuốn sách, những cộng đồng, diễn đàn và hãy cố gắng bắt kịp mọi người. Bạn sẽ trông giống 1 thằng ngố vào vài tháng đầu, nhưng rồi một ngay,truớc khi bạn nhận ra, bạn thức dậy và nói ngôn ngữ C++(C,Java,Python...)

The biggest problem; getting over the fear of looking like an idiot. I'll make it easy for you... you are, we all are, in comparison to someone else you're going to be an idiot on something
Điều quan trọng nhất là: vượt qua nỗi lo lắng rằng "mình trông như 1 thăng đằn" Tôi sẽ giúp bạn điều đó.. bạn,tôi và tất cả chúng ta, nếu so sánh với bất kỳ ai cũng sẽ trở thành 1 thằng đần trong 1 lĩnh vự nào đó!

Và cuối cùng! nếu bạn không có hứng thú gì với việc lập trình hay những gì bạn đang làm. Hãy bỏ chúng đi và làm những thứ bạn thích, Nên nhớ, ai cũng chỉ sống 1 lần! Nếu bạn vẫn chưa dám dừng lại thì hãy sẵn sàng với cả cuộc đời còn lại bạn phải chịu đựng những công việc mà mình ghét!

PS: 1 bài báo rất tuyệt vời cho những người mới học lập trình. Từ vựng rất đơn giản, hãy cứ đọc đi hoặc lười quá thì google translate cũng đc :))
http://writing.bryanwoods4e.com/1-poor-poor-child