User Tools

Site Tools


hackers_painters

Hackers and Painters: Big Ideas from the Computer Age

Lượt xem: 42

Bản dịch dưới đây được dịch sơ bộ bằng công cụ dịch tự động và sẽ được kiểm tra, điều chỉnh lại bởi các thành viên của trang web dichsach.club (bao gồm cả bạn nữa); Vì vậy, nếu bạn nhận thấy bản dịch này có nội dung nào chưa chính xác, đừng ngần ngại ấn vào nút “Edit this page” để hiệu chỉnh nội dung giúp bản dịch ngày càng hoàn thiện hơn. Cảm ơn bạn rất nhiều!

Tin tặc và họa sĩ: Ý tưởng lớn từ thời đại máy tínhHackers and Painters: Big Ideas from the Computer Age
Paul GrahamPaul Graham
Trong Hackers and Painters, tác giả Paul Graham xem xét bản chất sáng tạo của lập trình máy tính và các ngôn ngữ lập trình tạo điều kiện cho nó, cũng như cách các lập trình viên có thể sử dụng các kỹ năng của họ để có thể kiếm tiền.In Hackers and Painters, author Paul Graham examines the creative nature of computer programming and the programming languages that facilitate it, as well as how programmers can use their skills to potentially make a fortune.
Nó dành cho ai?Who is it for?
Tin tặc và bất kỳ ai quan tâm đến lập trình máy tínhHackers and anyone interested in computer programming
Doanh nhân, CEO và các chuyên gia kinh doanh khácEntrepreneurs, CEOs and other business professionals
Lập trình viên có ý tưởng tuyệt vời muốn thành lập một công ty khởi nghiệpProgrammers with a great idea who want to found a start-up
Thông tin về các Tác giảAbout the author
Paul Graham là một lập trình viên và nhà đầu tư mạo hiểm người Anh. Ông là đồng sáng lập của công ty khởi nghiệp Viaweb được bán vào năm 1998 cho Yahoo! và cuối cùng trở thành Yahoo! Cửa hàng.Paul Graham is a British programmer and venture capitalist. He is the co-founder of start-up Viaweb that was sold in 1998 to Yahoo! and eventually became Yahoo! Store.
Hầu hết những người không thích lập trình máy tính có xu hướng nghĩ nó nhàm chán và khó phân tích. Nhưng nếu bạn là một lập trình viên, bạn biết rằng lập trình là một quá trình rất sáng tạo, giống như vẽ tranh. Cũng giống như các nghệ sĩ, các lập trình viên giỏi tập trung vào việc tạo ra những điều tuyệt vời và khả năng những gì bạn có thể làm là hầu như vô hạn.Most people who aren’t into computer programming tend to think of it as boring and analytical. But if you’re a programmer yourself, you know that programming is a very creative process, akin to painting. Just like artists, good programmers focus on creating great things, and the possibilities of what you can do are virtually limitless.
Và đây không phải là quan niệm sai lầm duy nhất của những người không phải là lập trình viên về lập trình viên. Đúng vậy, các lập trình viên có thể ăn mặc không hợp thời trang hoặc hành động vụng về trong các tình huống xã hội, nhưng điều này chủ yếu là vì họ là những người thông minh và không thể ít quan tâm đến các quy ước xã hội. Chính tinh thần nổi loạn này đã khiến họ lập trình rất giỏi, một trạng thái tinh thần có thể giúp bất kỳ ai nảy ra ý tưởng đổi mới.And this is not the only misconception non-programmers have about programmers. Yes, programmers may dress unfashionably or act awkwardly in social situations, but this is mostly because they’re smart people and couldn’t care less about social conventions. It’s this rebellious spirit that makes them so good at programming, a state of mind that could help anyone come up with innovative ideas.
Trong phần tóm tắt này về Tin tặc và Họa sĩ của Paul Graham, bạn sẽ khám phá ra:In this summary of Hackers and Painters by Paul Graham, you’ll discover:
ngôn ngữ lập trình là gì và tại sao có rất nhiều,what programming languages are and why there are so many,
tại sao động cơ của tin tặc máy tính ban đầu gây khó khăn cho Cục Điều tra Liên bang, vàwhy the motives of computer hackers initially baffled the Federal Bureau of Investigation, and
tại sao có lẽ đã đến lúc bạn học cách viết mã - nếu bạn muốn trở nên giàu có một cách khó hiểu.why perhaps it’s time you too learned how to code – if you want to become obscenely rich.
Tin tặc và Họa sĩ Ý tưởng chính # 1: Đạo đức phù du như thời trang; và mọt sách không được ưa chuộng vì họ không biết về cả hai.Hackers and Painters Key Idea #1: Morals are as fleeting as fashion; and nerds are unpopular because they’re unaware of both.
Bạn nghĩ thời trang và đạo đức có điểm gì chung? Thoạt nhìn, không nhiều. Nhưng thực ra cả hai hiện tượng đều giới hạn trong một thời gian và địa điểm nhất định.What do you think fashion and morals have in common? At first glance, not much. But actually both phenomena are limited to a certain time and place.
Rõ ràng, gu thời trang gắn liền với một thời điểm cụ thể: hãy xem những bức ảnh từ những năm 1990 và bạn sẽ thấy kể từ đó thị hiếu đã đi xa đến mức nào. Và nếu bạn nhìn vào những hình ảnh từ những nơi nước ngoài như Nhật Bản, thậm chí ngày nay bạn cũng có thể ngạc nhiên về những gì hiện đang là thời trang ở đó.Obviously, fashion sense is tied to a specific time: take a look at photos from the 1990s and you’ll see how far tastes have come since then. And if you look at images from foreign places like Japan, for example, even today you may be astonished at what is currently in fashion there, too.
Sau đó có thể ngạc nhiên khi nhận ra rằng đạo đức chỉ là tạm thời và phụ thuộc vào vị trí. Những kiểu đạo đức này ảnh hưởng đến toàn bộ các vấn đề đạo đức, bao gồm cả cách bạn nên đối xử với người khác và những giá trị nào bạn trân trọng nhất.It may be a surprise then to realize that morals are just as temporary and location-dependent. These moral fashions affect a whole spectrum of moral issues, including how you should treat other people and what values you cherish the most.
Một ví dụ điển hình: la bàn đạo đức của nhiều người Đức trong Thế chiến thứ hai rất khác so với các giá trị của công dân ở nước Đức hiện đại ngày nay.An extreme example: the moral compass of many Germans during World War II was very different than from the values of citizens in modern Germany today.
Vì vậy, cả thời trang quần áo và thời trang đạo đức đều liên tục thay đổi. Bạn có thể nghĩ đến bất kỳ nhóm con nào trong xã hội không biết đến những thay đổi này không?So, both clothing fashions and moral fashions are constantly changing. Can you think of any subgroup in society that is oblivious to these changes?
Tất nhiên: những kẻ mọt sách, hoặc những người thông minh nhưng không am hiểu xã hội và vì vậy đừng cố hòa nhập với đồng nghiệp của họ. Nerds sử dụng thời gian và năng lượng của họ để trở nên thông minh hơn mà không cần phải tuân theo các quy ước thời trang, bởi vì trở nên thời trang không phải là một mục tiêu. Điều này có thể rõ ràng nhất nếu ai đó bạn biết mặc áo khoác denim màu neon hàng ngày trong 5 năm, nhưng nó cũng áp dụng cho thời trang đạo đức.Of course: nerds, or smart people who are not socially adept and so don’t try to fit in with their peers. Nerds use their time and energy to become smarter without bothering to adhere to fashionable conventions, because being fashionable isn’t a goal. This may be most apparent if someone you know wears a neon denim jacket every day for five years, but it also applies to moral fashions.
Kết quả là những đứa trẻ mọt sách không mấy nổi tiếng với các bạn cùng trang lứa, đặc biệt là ở trường trung học. Để được bình chọn là vua hoặc nữ hoàng vũ hội, một học sinh thường phải phù hợp với đạo đức và thời trang quần áo hiện tại.The result is that nerds are not very likely to be popular among their peers, especially in high school. To be voted prom king or queen, a student usually has to be in tune with the current moral and clothing fashions.
Nhưng may mắn thay sau khi học trung học - trong thế giới thực - nơi mà thời trang không còn quan trọng nữa, những kẻ mọt sách dường như vẫn ổn.But thankfully after high school – in the real world – where being fashionable doesn’t matter much anymore, nerds seem to do just fine.
Tin tặc và họa sĩ Ý tưởng chính # 2: Tin tặc máy tính giống như những nghệ sĩ, theo nghĩa cả hai nhóm đều muốn tạo ra những điều tốt đẹp.Hackers and Painters Key Idea #2: Computer hackers are like artists, in the sense that both groups want to make good things.
Nếu bạn nghĩ đến từ hacker, bạn sẽ nghĩ đến điều gì? Hầu hết mọi người có lẽ tưởng tượng ra một kẻ lạnh lùng, tính toán, đột nhập trái phép vào máy tính thông qua công việc phân tích, tẻ nhạt.If you think of the word hacker, what comes to mind? Most people probably imagine a cold, calculating person who illegally breaks into computers through tedious, analytical work.
Bây giờ, hãy nghĩ về một nghệ sĩ, như một họa sĩ. Bạn có thể đã liên tưởng đến hình ảnh của một thiên tài được truyền cảm hứng, người đã thổi hồn vào một bức tranh.Now, think about an artist, like a painter. You’ve probably conjured up an image of an inspired genius who pours her soul on to a canvas.
Hãy làm rõ một vài quan niệm sai lầm. Đầu tiên, trong thế giới máy tính, thuật ngữ hacker dùng để chỉ một lập trình viên xuất chúng, người có thể làm hầu hết mọi thứ, không nhất thiết phải là tội phạm. Hơn nữa, hack đòi hỏi một bộ óc rất sáng tạo, gần giống với một họa sĩ hơn là một nhà toán học.Let’s clear up a few misconceptions. First, in the computer world, the term hacker refers to an outstanding programmer who can do almost anything, not necessarily a criminal. What’s more, hacking requires a very creative mind, closer to a painter’s than say, a mathematician’s.
Trên thực tế, cả hacker và họa sĩ đều giống nhau ở chỗ cả hai đều giải quyết vấn đề bằng cách tạo ra các khái niệm thay vì thực hiện chúng.In fact, both hackers and painters are similar in the sense that they both solve problems by creating concepts rather than implementing them.
Ví dụ, tác giả ban đầu được dạy rằng anh ta nên làm việc trên máy tính mã trên giấy cho đến khi nó hoàn hảo, và chỉ sau đó, chuyển mã sang máy tính. Nhưng anh ấy nhận thấy rằng một cách tiếp cận nghệ thuật hiệu quả hơn nhiều: anh ấy sẽ chỉ bắt đầu viết mã và giải quyết các vấn đề khi chúng xảy ra, giống như một họa sĩ có thể bắt đầu phác thảo một cái gì đó và làm việc từ đó, thay vì lên kế hoạch hoàn hảo cho công việc của mình từ trước.For example, the author was originally taught he should work on computer code on paper until it was perfect, and only then, transfer the code to a computer. But he found that an artistic approach worked far better: he would just start writing code and solve problems as they occurred, much like a painter might just start sketching something and work from there, rather than perfectly planning her work beforehand.
Một điểm tương đồng khác là cả hacker và họa sĩ đều tạo ra tác phẩm có giá trị trừu tượng, khó có thể đo lường thông qua các thước đo như bài kiểm tra hoặc sự chú ý của giới truyền thông. Thước đo giá trị duy nhất cho “công việc” đó là mức độ thích của mọi người. Đối với phần mềm, điều này phụ thuộc vào mức độ mà phần mềm làm hài lòng người dùng bằng cách đáp ứng nhu cầu của họ, và đối với nghệ thuật, tác phẩm làm hài lòng khán giả tốt như thế nào.Another similarity is that both hackers and painters produce work that has abstract value, which is hard to measure through metrics such as tests or media attention. The only measure of value for such “work” is how well people like it. For software, this depends on how well the software pleases the user by meeting his needs, and for art, on how well the work pleases the audience.
Tác giả hiểu được những điểm tương đồng này khi anh ấy đi học tại trường nghệ thuật sau khi tốt nghiệp ngành khoa học máy tính. Ông nhận thấy cả hai lĩnh vực có nhiều điểm tương đồng hơn là khác biệt, bởi vì cả hai đều hướng đến cùng một mục tiêu cơ bản: tạo ra những điều tốt đẹp.The author came to understand these similarities when he went to art school after graduating with a degree in computer science. He found both fields to have more similarities than differences, because both aim at the same fundamental goal: making good things.
Tin tặc và thợ sơn Ý tưởng chính # 3: Tin tặc cần phải nổi loạn để làm tốt những gì họ làm.Hackers and Painters Key Idea #3: Hackers need to be rebellious to be good at what they do.
Bạn có thể nghĩ rằng lập trình máy tính thành công đòi hỏi bạn phải tuân thủ nghiêm ngặt các quy tắc và quy ước. Rốt cuộc, không làm như vậy sẽ dẫn đến một loạt các lỗi, phải không?You may think that successful computer programming requires you to adhere rigidly to rules and conventions. After all, not doing so would result in a bunch of errors, right?
Trên thực tế, trở thành một hacker thường có nghĩa là vi phạm một số quy tắc. Cũng giống như bất kỳ nghề nào khác, bạn chỉ có thể học hack bằng cách nhìn vào công việc của những người đi trước bạn. Và nếu bạn muốn xem xét kỹ hơn, bạn có thể phải tự mình bẻ cong và phá vỡ một số luật, vì có thể tác phẩm bạn quan tâm được bảo vệ bởi quyền sở hữu trí tuệ.In fact, becoming a hacker often means violating some rules. Just like in any other profession, you can only learn to hack by looking at the work of those who came before you. And if you want to take a really close look, you may well have to bend and break some laws yourself, as it’s possible that the work you’re interested in is protected by intellectual property rights.
Tin tặc có một loại trí tuệ tò mò về các công nghệ hiện tại như phần mềm tiên tiến, và chưa nghiên cứu nó, họ có thể phải đột nhập vào máy tính của người khác. Những nỗ lực này thường là bất hợp pháp. Do đó, tin tặc bị coi là tội phạm, mặc dù rất có thể họ phạm tội vì tò mò, hơn là để ăn cắp bất cứ thứ gì.Hackers have a kind of intellectual curiosity about current technologies such as cutting-edge software, and yet to study it, they may have to break into someone else’s computer. These endeavors are often illegal. Hackers are thus considered criminals, even though they’re most likely committing a crime out of curiosity, rather than to steal anything.
Ban đầu, khi đột nhập vào máy tính lần đầu tiên được xếp vào loại tội phạm, Cục Điều tra Liên bang (FBI) đã phải vật lộn trong các vụ án của mình, vì động cơ chính của hacker thường là sự tò mò đơn giản về trí tuệ. Về động cơ tội phạm, điều này - đối với FBI - hoàn toàn chưa từng được nghe đến.Originally, when breaking into computers was first classified as a crime, the Federal Bureau of Investigation (FBI) struggled in its cases, as often a hacker’s main motive was simple intellectual curiosity. As far as criminal motives go, this was – for the FBI – totally unheard of.
Bây giờ bạn có thể nghĩ rằng hacker nên tuân thủ luật pháp một cách đơn giản, nhưng trên thực tế, chính bản chất nổi loạn của họ đã khiến họ rất giỏi những gì họ làm.You may now be thinking that hackers should simply abide by the law, but in fact it is their rebellious nature that makes them so good at what they do.
Tại sao?Why?
Bởi vì nổi loạn có nghĩa là chất vấn thẩm quyền, cho dù chính phủ hay các chuyên gia trong lĩnh vực của bạn. Và đặt câu hỏi về những ý tưởng đã được thiết lập là cách duy nhất để đưa ra những ý tưởng đổi mới, một điều kiện tiên quyết để lập trình tốt.Because being rebellious means questioning authority, whether the government or experts in your field. And questioning established ideas is the only way to come up with innovative ones, a prerequisite for good programming.
Hầu hết các tin tặc là những kẻ mọt sách ở chỗ họ là những người thông minh và không thực sự quan tâm đến các quy ước xã hội, vì vậy họ đặc biệt có kỹ năng thách thức mọi thứ - và sau đó cải thiện nó.Most hackers are nerds in that they are smart people who don’t really care about social conventions, so they are especially skilled in challenging everything – and then improving on it.
Trong phần tóm tắt cuốn sách sau đây, bạn sẽ tìm hiểu cách những kẻ mọt sách sử dụng thiên tài nổi loạn của mình để kiếm hàng tấn tiền.In the following book summarys, you’ll find out how nerds use their rebellious genius to make tons of money.
Hackers and Painters Ý tưởng chính # 4: Khởi động một công ty khởi nghiệp có thể là một cách nhanh chóng để làm giàu và không có gì sai với điều đó.Hackers and Painters Key Idea #4: Launching a start-up can be a fast way to get rich, and there’s nothing wrong with that.
Nhiều người mơ ước một ngày nào đó thành lập công ty với một ý tưởng tuyệt vời mà họ đã có. Nhưng nếu bạn là một lập trình viên giỏi, bạn thực sự nên bắt đầu và thành lập công ty của riêng mình.Many people dream of one day starting a company around a great idea they’ve had. But if you’re a good programmer, you really should go for it and found your own company.
Tại sao?Why?
Bởi vì khởi nghiệp thực sự là một trong những cách nhanh nhất để trở nên giàu có.Because launching a start-up really is one of the fastest ways to becoming rich.
Khi làm việc cho một tập đoàn lớn, về cơ bản mức lương của bạn sẽ không tăng lên đáng kể cho dù bạn làm việc chăm chỉ đến đâu. Mặt khác, nếu bạn thành lập một công ty mới thành lập, bạn sẽ phải làm việc rất chăm chỉ nhưng ít nhất mỗi giờ làm việc bạn bỏ ra sẽ có nhiều khả năng công ty của bạn sẽ thành công và bạn sẽ nhận được một khoản tiền lớn.When working for a large corporation, your wage won’t substantially increase no matter how hard you work. If you found a start-up, on the other hand, you’ll have to work very hard but at least every hour of work you put in will make it more likely your company will succeed and you’ll get a big payout.
Đây là những gì đã xảy ra với tác giả. Anh và hai người đồng sáng lập của công ty khởi nghiệp đã làm việc nhiều giờ trên ứng dụng mua sắm trực tuyến có tên Viaweb, và cuối cùng đã bán được nó với giá hàng triệu USD.This is what happened to the author. He and his start-up’s two co-founders worked long hours on their online shopping application called Viaweb, and eventually sold it for millions.
Một số người có thể phản đối rằng đây là mục tiêu sai lầm và toàn bộ động lực tập trung tài sản vào tay người giàu là một sai lầm. Nhưng thực ra, tập trung của cải không chỉ công bằng mà còn tốt cho tất cả mọi người.Some may protest that this is the wrong goal, and that the whole dynamic of concentrating wealth in the hands of the rich is a mistake. But actually, concentrating wealth is not only fair, it’s good for everyone.
Tại sao?Why?
Bởi vì của cải không giống như tiền bạc. Của cải tạo thành những thứ mà con người muốn, trong khi tiền chỉ là phương tiện trao đổi mà con người đánh đổi để lấy của cải.Because wealth is not the same as money. Wealth constitutes the things that people want, whereas money is only the medium of exchange that people trade for wealth.
Với sự phân biệt này, rõ ràng là bất kỳ ai cũng có thể tạo ra sự giàu có mà không làm giảm sự giàu có của những người khác. Ví dụ, nếu bạn sở hữu một chiếc ô tô cổ điển và tân trang nó trong thời gian rảnh rỗi, bạn đang tạo ra của cải mới mà không tước đoạt nó của bất kỳ ai khác. Điều này có nghĩa là sự giàu có là không giới hạn, vì vậy người giàu không “vơ vét” nó.With this distinction in mind, it’s obvious that wealth can be created by anyone, without diminishing the wealth of others. For example, if you own a classic car and refurbish it in your spare time, you’re creating new wealth without depriving anyone else of it. This means wealth is not limited, so the rich aren’t “hogging” it.
Ngoài ra, không phải những cá nhân giàu nhất, chẳng hạn như CEO, vận động viên chuyên nghiệp, v.v., thực sự đã làm việc chăm chỉ và hiệu quả hơn những người khác, để họ xứng đáng với sự giàu có của mình?Also, isn’t it possible that the richest individuals, such as CEOs, professional athletes and so on, really have worked harder and more productively than others, so that they deserve their wealth?
Ví dụ, nếu bạn phải làm việc chăm chỉ gấp mười lần khi mới thành lập so với một nhân viên bình thường của công ty, thì không công bằng khi bạn kiếm được thu nhập gấp mười lần? Đặc biệt khi làm như vậy, bạn sẽ tạo ra một sản phẩm mà mọi người đều có thể tận hưởng và hưởng lợi từ đó.For example, if you have to work ten times harder in your start-up than the average corporate employee, isn’t it fair that you earn ten times the income? Especially when in doing so, you’ll create a product that everyone can enjoy and benefit from.
Hacker and Painters Ý tưởng chính # 5: Ý kiến ​​của người dùng cuối là bài kiểm tra cuối cùng cho mức độ thành công của sản phẩm và công ty của bạn.Hackers and Painters Key Idea #5: The end-user’s opinion is the ultimate test for how successful your product and company are.
Như đã thảo luận trước đây, giống như họa sĩ phải làm hài lòng khán giả, tin tặc cần phải làm hài lòng người dùng. Điều này có nghĩa là khi bạn thành lập một công ty và bắt đầu thiết kế sản phẩm của mình, người dùng cuối phải lấy tâm trí của bạn làm trung tâm.As discussed before, just like painters have to please an audience, hackers need to please a user. This means that when you found a company and begin designing your product, the end user has to take center stage in your mind.
Trước hết, bạn nên tạo và khởi chạy nguyên mẫu sản phẩm của mình càng sớm càng tốt để thu thập phản hồi từ người dùng thực. Chiến lược này được gọi là Tồi tệ hơn là Tốt hơn, bởi vì việc tung ra ngay cả một nguyên mẫu khá nhỏ đã sớm mang lại cho bạn phản hồi có giá trị cho phép bạn sửa lỗi và cải thiện sản phẩm để phù hợp hơn với nhu cầu của người dùng.First of all, you should create and launch a prototype of your product as soon as possible to collect feedback from real users. This strategy is called Worse is Better, because launching even a pretty stripped-down prototype early on gets you valuable feedback that allows you to fix mistakes and improve the product to better suit your users’ needs.
Một ví dụ về hiệu quả của phương pháp này đến từ một nguồn đáng ngạc nhiên: tác giả nổi tiếng Jane Austen. Trước khi hoàn thành cuốn sách của mình, cô thường đọc to chúng cho gia đình mình nghe, sau đó họ đưa ra gợi ý về những điều họ muốn nghe trong cuốn sách. Họ là những người dùng đầu tiên cho “nguyên mẫu” của cô ấy.One example of the efficacy of this approach comes from a surprising source: the famed author Jane Austen. Before finalizing her books, she used to read them aloud to her family, who then made suggestions about what they would like to hear in the book. They were the first users for her “prototype.”
Nếu bạn thành công và quản lý để tạo ra một sản phẩm phù hợp với nhu cầu và sở thích của người dùng, họ có thể sẽ muốn mua nó. Nếu không, chúng sẽ không, cho dù nó có bao nhiêu tính năng phức tạp khác.If you succeed and manage to make a product that matches users’ needs and interests, they will probably want to buy it. Otherwise they won’t, no matter how many other sophisticated features it has.
Ví dụ, nếu bạn thiết kế một chiếc ghế, bạn có nghĩ rằng có ai đó sẽ mua nó nếu nó trông tuyệt vời nhưng lại khó chịu một cách khủng khiếp không? Chắc là không.For example, if you were to design a chair, do you think anyone would buy it if it looked great but was horrendously uncomfortable? Probably not.
Để có được người dùng, bạn phải đáp ứng nhu cầu của họ và bạn càng có nhiều người dùng, công ty của bạn càng thành công. Đây cũng là một chu kỳ đạo đức: người dùng tạo ra doanh thu, sau đó bạn có thể tái đầu tư để làm cho sản phẩm của mình tốt hơn nữa và có được nhiều người dùng hơn nữa.To gain users, you have to satisfy their needs, and the more users you have, the more successful your company will be. This is also a virtuous cycle: users generate revenue, which you can then reinvest to make your product even better and get even more users.
Hơn nữa, nếu ai đó đang xem xét mua lại công ty của bạn, họ sẽ đánh giá nó dựa trên số lượng người dùng mà bạn có. Một ứng dụng có 100.000 người dùng sẽ có nhiều người mua tiềm năng hơn một ứng dụng chỉ có 300 người dùng.What’s more, if someone is considering acquiring your company, they will value it based on the number of users you have. An app that has 100,000 users will have more potential buyers than an app with just 300 users.
Hacker and Painters Ý tưởng chính # 6: Các ngôn ngữ lập trình khác nhau tùy theo mục đích của chúng và luôn được cải tiến.Hackers and Painters Key Idea #6: Programming languages differ according to their purpose, and are being improved all the time.
“C ++, Python, Java…” Có thể bạn đã đôi khi nghe thấy các lập trình viên liệt kê tất cả các ngôn ngữ mà họ có thể viết mã. Những gì họ đề cập đến là ngôn ngữ lập trình mà họ có thể đưa ra lệnh cho máy tính.“C++, Python, Java…” You’ve probably sometimes heard programmers listing all the languages they can code in. What they’re referring to are the programming languages in which they are able to give commands to computers.
Nhưng máy tính không thực sự hiểu những ngôn ngữ này. Chúng chỉ hiểu được ngôn ngữ máy, có nghĩa là các kết hợp cụ thể của các số một và các số không để cho máy tính biết những chức năng nào cần thực hiện. Điều này có nghĩa là các lập trình viên cũng cần một trình biên dịch để dịch ngôn ngữ lập trình sang ngôn ngữ máy.But computers don’t actually understand these languages. They only comprehend machine language, meaning specific combinations of ones and zeros that tell the computer what functions to perform. This means programmers also need a compiler to translate the programming language into machine language.
Điều này nghe có vẻ hợp lý, nhưng nó có thể đặt ra câu hỏi: tại sao chúng ta cần nhiều ngôn ngữ lập trình khác nhau?This sounds reasonable, but it might beg the question: why do we need so many different programming languages?
Lý do đơn giản là các ngôn ngữ lập trình khác nhau phù hợp với các loại tác vụ khác nhau. Cũng giống như ngôn ngữ nói, có thể dễ dàng diễn đạt một số điều bằng ngôn ngữ này hơn là ngôn ngữ khác.The reason is simply that different programming languages are good for different kinds of tasks. Just like with spoken languages, it can be easier to express certain things in one language than in another.
Ví dụ: nếu bạn muốn yêu cầu máy tính của mình thêm biến Y vào biến X, bạn có thể thực hiện điều đó bằng hai dòng mã bằng ngôn ngữ Lisp, trong khi bạn cần bốn dòng bằng ngôn ngữ Perl.For example, if you want to tell your computer to add variable Y to variable X, you can do it in two lines of code in the language Lisp, whereas you’d need four lines in the language Perl.
Đôi khi các khái niệm cần thiết cho chương trình của bạn thậm chí không tồn tại trong ngôn ngữ bạn đã chọn, vì vậy bạn phải chuyển đổi hoặc tìm giải pháp thay thế bằng ngôn ngữ đầu tiên.Sometimes the necessary concepts for your program don’t even exist in the language you’ve chosen, so you have to either switch or find a workaround in the first language.
Ví dụ: nếu bạn cố gắng thêm Y vào X bằng ngôn ngữ Python, bạn sẽ gặp rắc rối vì nó không nhận dạng đầy đủ các biến như vậy. Vì vậy, bạn phải tìm một giải pháp thay thế, trong trường hợp này có nghĩa là viết sáu dòng mã.For example, if you tried to add Y to X in the language Python, you’d run into trouble because it doesn’t fully recognize variables like that. So you’d have to find a workaround, which in this case would mean writing six lines of code.
Đây là lý do tại sao có rất nhiều ngôn ngữ tồn tại. Nhưng lĩnh vực này còn lâu mới trì trệ: các ngôn ngữ hiện tại không ngừng phát triển và những ngôn ngữ mới đang được phát triển. Điều này là do các ngôn ngữ được phát triển bởi các lập trình viên, những người điều chỉnh chúng theo sở thích và yêu cầu của riêng họ.This is why there are so many languages in existence. But the field is far from stagnant: existing languages are constantly evolving and new ones are being developed. This is because languages are developed by programmers who adapt them according to their own preferences and requirements.
Cho đến những năm 1980, điều này là không thể, vì ngôn ngữ lập trình chỉ được phát triển bởi các tổ chức và các công ty lớn. Ngày nay, bất kỳ ai cũng có thể mua được công nghệ cần thiết để thích nghi và phát triển các ngôn ngữ lập trình hiện tại, hoặc thậm chí tạo ra những ngôn ngữ mới.Up until the 1980s this was not possible, since programming languages were developed only by institutions and large companies. These days, anyone can afford the necessary technology to adapt and develop current programming languages, or even come up with new ones.
Hackers and Painters Ý tưởng chính # 7: Một ngôn ngữ lập trình tốt được thiết kế phù hợp với sở thích và theo nhu cầu của hacker.Hackers and Painters Key Idea #7: A good programming language is designed with taste and according to a hacker’s needs.
Nếu bạn nhìn vào 1.000 bức tranh và phân chia cái tốt và cái xấu, rõ ràng bạn sẽ đưa ra nhận định đó dựa trên sở thích của chính mình. Điều này cũng đúng đối với các tin tặc, những người quyết định giữa ngôn ngữ lập trình tốt và xấu. Họ đánh giá cao thị hiếu tốt trong các ngôn ngữ lập trình mà họ sử dụng, và khi họ thăng tiến với tư cách là lập trình viên, sở thích của họ cũng thay đổi và phát triển.If you were to look at 1,000 paintings and divide the good from the bad, you’d obviously make that judgment based on your own taste. The same is true for hackers who decide between good and bad programming languages. They appreciate good taste in the programming languages they use, and as they advance as programmers, their own taste changes and develops, too.
Ví dụ, nếu bạn đã thiết kế ngôn ngữ lập trình của riêng mình và nhiều năm sau, hãy xuất bản một phiên bản mới, chắc chắn nó sẽ tốt hơn phiên bản trước đó. Điều này là do bạn không có kỹ năng để làm cho phiên bản gốc tốt như phiên bản cập nhật và khẩu vị của bạn cũng đã được cải thiện trong quá trình này.For example, if you’ve designed your own programming language and years later, publish a new version, it will surely be better than the previous one. This is because you didn’t have the skills to make the original version as good as the updated one, and your taste has also improved along the way.
Vậy một ngôn ngữ lập trình tốt là gì? Một thứ phục vụ cho nhu cầu của hacker.So what’s a good programming language? One that caters to a hacker’s needs.
Ví dụ, nếu một ngôn ngữ quá phức tạp hoặc hạn chế, tin tặc sẽ sử dụng một ngôn ngữ khác. Tuy nhiên, nếu một ngôn ngữ đáp ứng được nhu cầu của tin tặc, nó sẽ trở nên phổ biến, có nghĩa là họ sẽ đón nhận nó và phát triển nó hơn nữa để hoàn thiện nó. Vì vậy, các ngôn ngữ tốt chắc chắn sẽ trở nên tốt hơn theo thời gian, khi các tin tặc tự nguyện làm việc để tìm và sửa lỗi trong đó.For example, if a language is too complicated or limiting, hackers will simply use another one. If, however, a language meets the needs of hackers, it will become popular, which means they will embrace it and develop it further to perfect it. So good languages will inevitably get better over time, as hackers voluntarily work on finding and fixing bugs in it.
Các ví dụ điển hình về động này có thể được tìm thấy trong các ngôn ngữ nguồn mở như Perl và Python, do các cá nhân thiết kế riêng nhưng sau đó được phát hành rộng rãi để mọi người và mọi người có thể thay đổi và cải thiện chúng.Good examples of this dynamic can be found in open-source languages such as Perl and Python, which were privately designed by individuals but later released to the public so anyone and everyone could change and improve them.
Hacker and Painters Ý tưởng chính # 8: Các doanh nghiệp thích các ngôn ngữ lập trình phổ biến, nhưng đôi khi những ngôn ngữ lập trình khó hiểu có thể mang lại lợi thế cho họ.Hackers and Painters Key Idea #8: Businesses prefer popular programming languages, but sometimes obscure ones could give them an edge.
Nếu bạn không phải là một lập trình viên và muốn bắt đầu kinh doanh yêu cầu lập trình, bạn có thể không biết công ty của bạn nên sử dụng ngôn ngữ lập trình nào. Vì vậy, làm thế nào những người không phải lập trình viên như các nhà quản lý doanh nghiệp và các nhà lãnh đạo dự án nên chọn ngôn ngữ cho các lập trình viên của họ để viết mã?If you’re not a programmer and want to start a business that requires programming, you probably have no idea which programming language your company should use. So how should non-programmers like business managers and project leaders choose the language for their programmers to code in?
Nhìn chung, các doanh nghiệp thích sử dụng các ngôn ngữ phổ biến, rộng rãi.In general, businesses prefer using popular, widespread languages.
Điều này là do một chương trình được viết bằng ngôn ngữ được sử dụng phổ biến sẽ có khả năng tương thích với nhiều chương trình khác được viết bằng cùng ngôn ngữ đó.This is because a program written in a commonly used language will likely be compatible with many other programs written in that same language.
Một lý do khác là các công ty dễ dàng hơn trong việc tìm kiếm và tuyển dụng các lập trình viên viết mã bằng các ngôn ngữ phổ biến. Điều này đôi khi có thể rất quan trọng: nếu bạn đã tuyển ai đó viết một chương trình bằng một ngôn ngữ hiếm như Lisp và cô ấy đột ngột bỏ việc, bạn sẽ gặp rắc rối thực sự. Rất có thể bạn sẽ không tìm được người thay thế và sẽ phải vứt bỏ toàn bộ dự án.Another reason is that it’s easier for companies to find and recruit programmers who code in popular languages. This can sometimes be crucial: if you’ve recruited someone to write a program in a rare language like Lisp and she suddenly quits her job, you’ll be in real trouble. Chances are you won’t be able to find a replacement and will have to throw the whole project away.
Vì các công ty có nhu cầu nhiều hơn đối với các lập trình viên với các kỹ năng ngôn ngữ phổ biến, điều đó cũng có nghĩa là sẽ luôn có nhiều tin tặc sử dụng chúng hơn những người ít hiểu biết.Since companies have more demand for coders with popular language skills, it also means that there will always be more hackers using them than obscure ones.
Mặc dù những lập luận ủng hộ các ngôn ngữ phổ biến này, nhưng cũng có một số nhược điểm nhất định.Despite these arguments in favor of popular languages, there are certain downsides, too.
Vì một số ngôn ngữ lập trình nhất định được tối ưu hóa cho các tác vụ nhất định, nên việc buộc các lập trình viên sử dụng một ngôn ngữ phổ biến cho mọi thứ có nghĩa là bạn có thể không nhận được hiệu suất tốt nhất từ ​​sản phẩm của mình.Since certain programming languages are optimized for certain tasks, forcing programmers to use a popular language for everything means you’re possibly not getting the best performance from your product.
Rất có thể, các đối thủ cạnh tranh của bạn cũng gặp phải vấn đề này. Vì vậy, nếu bạn chuyển sang một ngôn ngữ tối ưu hơn, bạn có thể đạt được lợi thế đáng kể. Hơn nữa, đối thủ cạnh tranh của bạn không còn có thể phân tích vị trí của bạn dựa trên chính họ, vì sản phẩm của bạn sẽ dựa trên các nền tảng kỹ thuật hoàn toàn khác.Most likely, your competitors have this same problem. So if you were to switch to a more optimal language, you could gain a significant edge. What’s more, your competitors could no longer analyze your position based on their own, since your products would be based on completely different technical platforms.
Đây là những gì tác giả đã làm khi tạo Viaweb với ngôn ngữ ít được biết đến là Lisp, mang lại cho anh ta một lợi thế về mặt kỹ thuật và khiến các đối thủ cạnh tranh tự hỏi chính xác anh ta đang làm gì.This is what the author did when he created Viaweb with the little-known language Lisp, giving him a technical advantage and leaving his competitors wondering what exactly he was doing.
Ý tưởng chính của Hacker and Painters # 9: Bạn thực sự có thể ngừng nhận email spam nếu bạn muốn.Hackers and Painters Key Idea #9: You could actually stop getting spam emails if you wanted to.
Trước đó, người ta đã đề cập rằng một hacker giỏi có thể làm hầu như mọi thứ. Một ví dụ thú vị là giải quyết một vấn đề mà có lẽ bạn đã quá quen thuộc: thư rác, dòng quảng cáo không được yêu cầu dường như không thể ngăn cản tấn công hộp thư đến của bạn.It was mentioned earlier that a good hacker can do virtually anything. One fun example is tackling a problem you’re probably all too familiar with: spam, the seemingly unstoppable flow of unsolicited advertisements that bombard your inbox.
Vì vậy, nếu bạn là một hacker mắc bệnh spam, bạn sẽ đối phó với nó như thế nào? Bạn có thể nghĩ ra một vài phương pháp khác nhau.So if you’re a hacker sick of spam, how would you deal with it? You’d probably come up with a few different methods.
Đầu tiên, bạn có thể tiếp cận vấn đề bằng cách xem xét các thuộc tính riêng lẻ của email spam. Ví dụ: nhiều email spam bắt đầu bằng những thứ như “Bạn thân mến”, vì vậy bạn có thể viết một đoạn mã tự động đưa tất cả các thư bắt đầu bằng cụm từ này vào thư mục spam của mình.First, you could approach the problem by looking at the individual properties of spam emails. For example, many spam emails begin with something like “Dear Friend,” so you could write a piece of code that automatically puts all messages starting with this phrase in your spam folder.
Thứ hai, bạn có thể sử dụng tính năng lọc thống kê, theo đó mọi từ trong một email đến sẽ được phân tích, với máy tính sẽ tính toán xác suất thư đó là thư rác. Sau đó, máy tính sẽ đưa những kẻ có khả năng vi phạm vào thư mục thư rác của bạn.Second, you could employ statistical filtering, whereby every word in an incoming email would be analyzed, with the computer calculating the probability of the message being spam. Then the computer would put the likely offenders in your spam folder.
Tuy nhiên, có lẽ tùy chọn tốt nhất sẽ là cá nhân hóa phương pháp thống kê này, lưu một số thư nhất định khỏi thư mục spam ngay cả khi thống kê chỉ ra rằng chúng có thể là thư rác. Ví dụ: tác giả quyết định bất kỳ thư nào có từ “Lisp” là không phải thư rác, vì từ này đã được đưa vào nhiều email hợp pháp về ngôn ngữ lập trình. Anh ta cũng quyết định rằng các tin nhắn từ các địa chỉ mà anh ta đã trao đổi thư từ là an toàn.Perhaps the best option however would be to personalize this statistical approach, saving certain messages from the spam folder even if the statistics indicated they might be spam. For example, the author decreed any messages with the word “Lisp” as non-spam, as the word was included in many legitimate emails about the programming language. He also decided that messages from the addresses he had corresponded with were safe.
Nhưng nếu bạn là một hacker giỏi, bạn cũng sẽ xem xét hậu quả của hành động của mình. Trong trường hợp này, bằng cách ngăn chặn thư rác, bạn cũng có nguy cơ bỏ lỡ một số email quan trọng, vì các bộ lọc thư rác không bao giờ chính xác 100% và cũng có thể dễ dàng chặn thư hợp pháp. Vì vậy, có thể thỉnh thoảng bạn sẽ phải sàng lọc thư mục thư rác của mình để kiểm tra các thư hợp pháp, nhưng sau đó, bạn luôn có thể cải thiện bộ lọc thư rác của mình để không mắc phải lỗi tương tự nữa.But if you’re a good hacker, you will also consider the consequences of your actions. In this case, by stopping spam you risk also missing some important emails, because spam filters are never 100-percent accurate and can easily intercept legitimate mail, too. So you’ll probably have to sift through your spam folder every now and then to check for legitimate messages, but afterwards you can always improve your spam filter to not make the same mistake again.
Vì vậy, mặc dù thư rác có thể cực kỳ khó chịu, nhưng việc cố gắng lọc ra tất cả thư rác cũng có thể mang lại những vấn đề riêng.So while spam can be extremely irritating, trying to filter out all spam can also bring its own problems.
Đánh giá: Tóm tắt sách Hackers and PaintersIn Review: Hackers and Painters Book Summary
Thông điệp chính trong cuốn sách này:The key message in this book:
Trái ngược với suy nghĩ của hầu hết mọi người, lập trình máy tính là công việc nghệ thuật, và bản chất nổi loạn của một người nghiện lập trình có thể dẫn đến việc tạo ra những thứ đầy cảm hứng, sáng tạo. Bằng cách thành lập một công ty khởi nghiệp với một ý tưởng tuyệt vời, một lập trình viên máy tính thậm chí có thể kiếm được nhiều tiềnContrary to what most people think, computer programming is artistic work, and a programming nerd’s rebellious nature can result in the creation of inspiring, innovative things. By founding a start up around a great idea, a computer programmer can even make a fortune.
Lời khuyên hữu íchActionable advice
Nếu bạn là một lập trình viên có ý tưởng kinh doanh, hãy bắt tay vào thực hiệnIf you’re a programmer with a business idea, go for it
Rất ít người có thể trở nên giàu có khi làm lập trình viên cho các tập đoàn lớn, vì thành công của công ty có ảnh hưởng ít hoặc không ảnh hưởng đến tiền lương. Vì vậy, nếu bạn muốn trở nên giàu có và bạn có một ý tưởng kinh doanh tốt, hãy thực hiện nó: tìm thấy công ty khởi nghiệp của riêng bạn! Có, bạn sẽ phải làm việc chăm chỉ hơn nhiều so với công việc thông thường từ 9 đến 5 giờ, nhưng ít nhất bạn có thể đưa ra quyết định của riêng mình về việc cần làm, tạo ra những sản phẩm mới thú vị có lợi cho người dùng của bạn và vào cuối ngày , mỗi giờ bạn bỏ ra sẽ làm tăng cơ hội bạn sẽ bán công ty của mình để kiếm tiền.Very few people can become wealthy working as programmers for big corporations, as a company’s success has little or no impact on wages. So if you want to become rich and you have a good business idea, go for it: found your own start-up! Yes, you’ll have to work much harder than at a regular 9-to-5 job, but at least you can make your own decisions about what to do, create interesting new products that benefit your users and at the end of the day, every hour you put in will increase the chance that you’ll sell your company for a fortune.
hackers_painters.txt · Last modified: 2021/04/04 15:59 by bacuro