Một số câu hỏi thường được hỏi đến mức chúng được xử lý bằng đồ họa thông tin đầy đủ. Nhưng đây là một trong số đó
Quyết định ngôn ngữ lập trình đầu tiên của bạn có thể là một quá trình thú vị - giống như một trong những câu hỏi “Bạn là nhân vật Quentin Tarantino nào?”
Nhưng trước khi bạn chạy đi học Ruby vì hồi nhỏ bạn rất thích chơi Play-Doh, hãy để tôi nhắc bạn. cổ phần ở đây khá cao
Bạn sẽ mất hàng trăm giờ thực hành để trở nên thành thạo từ xa với ngôn ngữ lập trình đầu tiên của mình
Vì vậy, bạn nên xem xét các yếu tố sau
- thị trường việc làm cho ngôn ngữ
- triển vọng dài hạn cho ngôn ngữ
- ngôn ngữ dễ học như thế nào
- những dự án nào bạn có thể xây dựng trong khi học [và chia sẻ với bạn bè để bạn có thể duy trì động lực]
Mỗi năm đều mang đến những ngôn ngữ lập trình mới và cùng với chúng là những bài báo học thuật mới. Và truyện tranh web mới
Nghiêm trọng. Kiểm tra viên ngọc này từ tháng trước
Khi nói đến việc chọn một ngôn ngữ lập trình đầu tiên, không thiếu các lựa chọn. Để thu hẹp nó xuống một chút, đây là những tìm kiếm phổ biến nhất trên Google liên quan đến học lập trình, trong 12 năm qua
Java đã có những thăng trầm
Python đã dần vươn lên trở thành sự lựa chọn phổ biến nhất
Nhưng ẩn bên dưới những thứ này là Động cơ nhỏ có thể, đang dần trở nên phổ biến trong vài năm qua. Và công cụ đó là JavaScript
Trước khi tôi nói về các ngôn ngữ lập trình này, hãy để tôi làm rõ
- Tôi không tranh luận rằng bất kỳ ngôn ngữ nào tốt hơn bất kỳ ngôn ngữ nào một cách khách quan
- Tôi đồng ý rằng các nhà phát triển cuối cùng nên học nhiều hơn một ngôn ngữ
- Tôi đang tranh luận rằng trước tiên họ nên học tốt một ngôn ngữ. Và — như bạn có thể đoán được từ dòng chữ lộn ngược trong tiêu đề của tôi — ngôn ngữ đó phải là JavaScript
Hãy bắt đầu mọi thứ bằng cách khám phá cách lập trình hiện đang được dạy ở trường
Khoa học máy tính 101
Các trường đại học có truyền thống dạy lập trình dưới cái tên khoa học máy tính, bản thân nó thường được coi là một phần mở rộng của toán học, hoặc gắn liền với bằng kỹ sư điện
Tất nhiên, như bây giờ bạn có thể đã nghe
“Giáo dục khoa học máy tính không thể khiến bất kỳ ai trở thành một lập trình viên chuyên nghiệp cũng như việc nghiên cứu bút vẽ và bột màu có thể khiến ai đó trở thành một họa sĩ chuyên nghiệp. ” — Eric S. Raymond
Kể từ năm 2016, nhiều trường đại học vẫn coi lập trình như khoa học máy tính và khoa học máy tính như toán học
Do đó, nhiều khóa học lập trình cơ bản tập trung vào các ngôn ngữ có mức độ trừu tượng thấp như C hoặc các ngôn ngữ tập trung vào toán học như MATLAB
Và các trưởng khoa thường ở lại khóa học, chỉ vào bảng xếp hạng ngôn ngữ lập trình hàng năm như Chỉ số TIOBE hoặc bảng xếp hạng này từ IEEE
Hầu hết các bảng xếp hạng này trông gần như giống hệt như cách đây 10 năm
Nhưng thay đổi xảy ra. Ngay cả trong học viện
Vào năm 2014, Python đã vượt qua Java để trở thành ngôn ngữ giảng dạy phổ biến nhất tại các chương trình Khoa học Máy tính hàng đầu của Hoa Kỳ
Và một thay đổi khác chắc chắn sẽ… cuối cùng… xảy ra
Bởi vì nếu bạn nhìn vào các ngôn ngữ mà lực lượng lao động thực sự sử dụng, nó sẽ vẽ nên một bức tranh rất khác
Hơn một nửa số nhà phát triển sử dụng JavaScript. Nó rất quan trọng đối với phát triển web front-end và ngày càng phù hợp với phát triển back-end. Và nó đang nhanh chóng mở rộng sang các lĩnh vực như phát triển trò chơi và Internet vạn vật
Các tin tuyển dụng cũng đề cập đến JavaScript nhiều hơn bất kỳ ngôn ngữ lập trình nào khác ngoài Java
Không phải ngẫu nhiên mà chúng tôi xây dựng chương trình giảng dạy về JavaScript cho cộng đồng nguồn mở của mình. Trong hai năm qua, hơn 5.000 người đã sử dụng Free Code Camp để có được công việc lập trình viên đầu tiên của họ
Tôi không ủng hộ JavaScript vì tôi dạy nó. Tôi dạy JavaScript vì đó là con đường chắc chắn nhất dẫn đến công việc đầu tiên của nhà phát triển
Nhưng JavaScript có phù hợp với bạn không?
Yếu tố số 1. thị trường việc làm
Nếu bạn đang học lập trình hoàn toàn vì tò mò trí tuệ, vui lòng bỏ qua yếu tố này. Nhưng nếu bạn — thích — muốn sử dụng kỹ năng này để kiếm việc làm, thì đây là một điều quan trọng cần cân nhắc
Như tôi đã đề cập trước đó, Java được đề cập trong nhiều tin tuyển dụng hơn bất kỳ ngôn ngữ lập trình nào khác. JavaScript đứng thứ hai
Nhưng đây là điều về JavaScript. mặc dù nó đã tồn tại được 20 năm, nhưng nó chỉ mới trở thành một công cụ nghiêm túc gần đây mà các công ty như Netflix, Walmart và PayPal sẽ xây dựng toàn bộ ứng dụng xung quanh
Kết quả là, rất nhiều công ty đang tuyển dụng các nhà phát triển JavaScript, nhưng không có nhiều người như vậy trên thị trường việc làm
Có 2. 7 nhà phát triển Java cạnh tranh cho mọi vị trí Java còn trống. Cạnh tranh cho các công việc PHP và iOS cũng khốc liệt không kém
Nhưng đối với mọi vị trí JavaScript đang mở, chỉ có 0. 6 nhà phát triển JavaScript. Nó rất giống thị trường của người bán dành cho các nhà phát triển có kỹ năng JavaScript
Yếu tố #2. Triển vọng dài hạn
Dự án JavaScript trung bình nhận được gấp đôi số yêu cầu kéo so với dự án Java, Python hoặc Ruby trung bình. Và trên hết, JavaScript đang phát triển nhanh hơn bất kỳ ngôn ngữ phổ biến nào khác
Hệ sinh thái của JavaScript cũng được hưởng lợi từ khoản đầu tư lớn về tiền bạc và tài năng kỹ thuật từ các công ty như Google, Microsoft, Facebook và Netflix
Ví dụ: TypeScript [một siêu bộ JavaScript được nhập tĩnh] có hơn 100 người đóng góp nguồn mở, nhiều người trong số họ là nhân viên của Microsoft và Google được trả tiền để làm việc trên đó
Kiểu hợp tác liên công ty này khó tìm thấy hơn với Java. Oracle - người sở hữu hiệu quả Java thông qua việc mua lại Sun Microsystems - những công ty cố gắng mở rộng dựa trên nó
Yếu tố #3. Khó học
Hầu hết các lập trình viên sẽ đồng ý rằng các ngôn ngữ kịch bản cấp cao tương đối dễ học. JavaScript rơi vào danh mục này, cùng với Python và Ruby
Mặc dù các trường đại học vẫn dạy các ngôn ngữ như Java và C ++ như ngôn ngữ đầu tiên, nhưng chúng khó học hơn đáng kể
Yếu tố #4. Các dự án bạn có thể xây dựng với nó
Đây là nơi JavaScript thực sự tỏa sáng. JavaScript chạy trên mọi thiết bị có trình duyệt, ngay trong trình duyệt. Về cơ bản, bạn có thể xây dựng mọi thứ bằng JavaScript và chia sẻ nó ở mọi nơi
Do tính phổ biến của JavaScript, người đồng sáng lập Stack Overflow, Jeff Atwood, đã đặt ra định luật nổi tiếng hiện nay của mình
“Bất kỳ ứng dụng nào có thể được viết bằng JavaScript, cuối cùng sẽ được viết bằng JavaScript. ”
Và cứ mỗi tháng trôi qua, Định luật Atwood vẫn giữ vững
Java cũng từng hứa sẽ chạy khắp mọi nơi. Bạn có thể nhớ Java Applet. Oracle đã chính thức giết chết họ vào đầu năm nay
Python cũng gặp nhiều vấn đề tương tự
“Làm thế nào tôi có thể đưa trò chơi này mà tôi đã làm cho bạn của mình? . ” — James Hague trong việc từ bỏ Python như một ngôn ngữ giảng dạy
Ngược lại, đây là một số ứng dụng mà các thành viên trong cộng đồng mã nguồn mở của chúng tôi đã xây dựng trong trình duyệt của họ trên CodePen. Bạn có thể nhấp qua và sử dụng chúng ngay trong trình duyệt của mình
Học tốt một ngôn ngữ. Sau đó học cái thứ hai
Nếu bạn cứ nhảy từ ngôn ngữ này sang ngôn ngữ khác, bạn sẽ không tiến xa được
Để vượt ra ngoài những điều cơ bản, bạn cần học tốt ngôn ngữ đầu tiên của mình. Sau đó, ngôn ngữ thứ hai của bạn sẽ dễ dàng hơn nhiều
Từ đó, bạn có thể phân nhánh và trở thành một nhà phát triển toàn diện hơn bằng cách học nhiều ngôn ngữ
- C là một cách tuyệt vời để tìm hiểu cách máy tính thực sự hoạt động về mặt quản lý bộ nhớ và rất hữu ích trong tính toán hiệu suất cao
- C ++ là tuyệt vời để phát triển trò chơi
- Python là tuyệt vời cho khoa học và thống kê
- Java rất quan trọng nếu bạn muốn làm việc tại các công ty công nghệ lớn
Nhưng hãy học JavaScript trước
OK, bây giờ tôi sẽ thử điều không thể - tôi sẽ thử và lường trước những phản đối từ phần bình luận
Phản đối #1. Nhưng JavaScript có chậm không?
JavaScript — cho hầu hết các mục đích thực tế — nhanh như các ngôn ngữ hiệu suất cao
JavaScript [Nút. js] nhanh hơn nhiều so với Python, Ruby và PHP
Nó cũng nhanh gần bằng các ngôn ngữ hiệu năng cao như C++, Java và Go
Dưới đây là kết quả của điểm chuẩn đa ngôn ngữ toàn diện nhất gần đây
Phản đối #2. Nhưng JavaScript không được gõ tĩnh
Giống như Python và Ruby, JavaScript được nhập động, thuận tiện. Nhưng bạn có thể gặp rắc rối. Ở đây tôi dự định cho exampleArray
là một mảng. Tôi đặt các giá trị của nó, sau đó kiểm tra độ dài của nó — nghĩa là số lượng phần tử mà nó chứa
exampleArray = [1, 2]
-> [1, 2]
exampleArray.length
-> 2
Nhưng sau đó tôi vô tình gán nó là một chuỗi
exampleArray = “text”
-> “text”
exampleArray.length
-> 4
Các loại lỗi này luôn xảy ra trong các ngôn ngữ được nhập động. Hầu hết các nhà phát triển chỉ đặt các kiểm tra tại chỗ để ngăn chặn chúng và viết các bài kiểm tra phù hợp
Nếu bạn nhất định phải gõ tĩnh trong ngôn ngữ lập trình đầu tiên của mình, thì tôi vẫn khuyên bạn nên học JavaScript trước. Sau đó, bạn có thể nhanh chóng chọn TypeScript
“TypeScript có một đường cong học tập, nhưng nếu bạn đã biết JavaScript, nó sẽ trở nên suôn sẻ. ” —
Phản đối #3. Nhưng tôi thực sự muốn làm một ứng dụng di động
Tôi vẫn khuyên bạn nên học JavaScript trước
- JavaScript có một số công cụ để tạo ứng dụng di động gốc, chẳng hạn như Angular Cordova và React Native
- Để ứng dụng dành cho thiết bị di động của bạn thực sự làm được bất kỳ điều gì thú vị, ứng dụng đó có thể sẽ cần một phần phụ trợ phù hợp mà bạn sẽ muốn xây dựng với một khung phát triển web phù hợp, chẳng hạn như Node. js + Express. js
Ngoài ra, cần chỉ ra rằng những ngày tốt nhất của ngành phát triển ứng dụng dành cho thiết bị di động rất có thể đã qua đi.
Đối với người mới bắt đầu, khi mọi người sử dụng ứng dụng dành cho thiết bị di động, gần một nửa số công việc của nhà phát triển là phát triển web. So sánh điều này với chỉ 8% công việc liên quan đến phát triển ứng dụng di động
Tầm nhìn vĩ đại về “có một ứng dụng cho điều đó” đã không thành hiện thực. Thay vào đó, hầu hết chủ sở hữu điện thoại thông minh đã ngừng tải xuống ứng dụng mới
Chắc chắn rồi — họ vẫn sử dụng ứng dụng. Chủ yếu là Facebook, Google Maps và một số ít khác. Do đó, phần lớn nhu cầu đối với các nhà phát triển ứng dụng di động tập trung ở một số nhà tuyển dụng lớn.
Triển vọng cho những công việc phát triển di động rất khó dự đoán. Nhiều khía cạnh của việc phát triển, duy trì và phân phối ứng dụng dành cho thiết bị di động trở nên dễ dàng hơn với JavaScript. Vì vậy, các công ty như Facebook và Google đang đầu tư mạnh vào các công cụ tốt hơn để xây dựng những công cụ này bằng JavaScript
Kể từ năm 2016, gần như tất cả sự phát triển là phát triển web. Mọi thứ đều chạm vào nền tảng lớn đó là “web. ” Và làn sóng tiếp theo của các thiết bị mà bạn sẽ nói chuyện xung quanh nhà của mình và những chiếc ô tô đưa đón con bạn từ trường — tất cả chúng cũng sẽ được kết nối với nhau bằng cách sử dụng web
Và điều đó có nghĩa là JavaScript
Phản đối #4. Không phải JavaScript là ngôn ngữ đồ chơi được viết trong 10 ngày sao?
JavaScript có một lịch sử kỳ quặc
Bạn chắc chắn sẽ nghe thấy mọi người pha trò cười với chi phí của nó
Chà, mọi người cũng thích ghét C ++. Và giống như JavaScript, C++ đã thành công bất chấp sự ghét bỏ này, và bây giờ nó cũng có mặt ở khắp mọi nơi
Vì vậy, nếu có ai từng gây khó khăn cho bạn khi học JavaScript thay vì ngôn ngữ ưu tú của tuần, hãy nhớ những lời nổi tiếng của người đã tạo ra C++
“Chỉ có hai loại ngôn ngữ lập trình. những người đó luôn chê bai và những người không ai sử dụng. ” — Bjarne Stroustrup
Tôi chỉ viết về lập trình và công nghệ. Nếu bạn theo dõi tôi trên Twitter, tôi sẽ không lãng phí thời gian của bạn. ?
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Người thầy sáng lập freeCodeCamp. tổ chức
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu