Một lập trình viên chưa có kinh nghiệm có cần IDE không? [đóng cửa]


12

Đọc câu hỏi khác này khiến tôi tự hỏi liệu tôi (với tư cách là một lập trình viên PHP mới bắt đầu tuyệt đối) có nên gắn bó với WAMP và Notepad ++ hay để chuyển sang một số IDE như Eclipse.

Có thể hiểu rằng các nhà phát triển lành nghề sẽ được hưởng lợi từ một IDE lớn sáng bóng. Nhưng tại sao một người mới bắt đầu tuyệt đối nên sử dụng IDE? Các lợi ích có vượt quá thách thức thêm khi học IDE trên đỉnh cao của việc học để phát triển không?

Cập nhật để làm rõ:

Mục tiêu của tôi là để có được một số kinh nghiệm lập trình cơ bản. Bằng cách chọn PHP và WAMP (và FogBugz và Kiln), tôi hy vọng sẽ không phải điều hướng các đặc tả và biên dịch hệ điều hành phức tạp, v.v. và chỉ tập trung vào chức năng cơ bản như biểu mẫu đăng ký người dùng trực tuyến.

Tôi đã có rất nhiều hiểu biết lý thuyết từ trường đại học một thập kỷ trước nhưng không có kinh nghiệm thực tế. Tôi muốn khắc phục rằng với một dự án sở thích tương tự như một ứng dụng web có thể bán được trong thế giới thực.

Có rất nhiều câu hỏi để hỏi. Rất nhiều cạm bẫy có lẽ tôi phải phạm vào. Câu hỏi này chỉ là một phần (đầu tiên của tôi!) Của câu đố đó.


Phụ thuộc vào ý nghĩa của IDE ... Notepad ++ có thể được sử dụng như một IDE thô sơ.
Oded

10
Đúng! Không! Tôi không biết .. Đi với những gì phù hợp với bạn!
Ben

1
tình huống với một trình soạn thảo đơn giản là đường cơ sở - kinh nghiệm chung cho tất cả các lập trình viên. Tất cả các công cụ trên đó chỉ là - công cụ trên đó - vì vậy bạn nên bắt đầu học những điều cơ bản để đánh giá cao những gì IDE có thể giúp bạn.

Tôi đã chạy một ít màn hình trên chương trình lập trình.stacexchange.com. Sử dụng từ "phụ thuộc" hoặc "phụ thuộc" dường như làm tăng khả năng bỏ phiếu trong khi mọi người trả lời bằng cụm từ bắt đầu bằng "Tôi sẽ ..." hoặc bắt đầu bằng "Có" hoặc "Không" có xu hướng được bỏ phiếu. Mẹo viết bài: không có ý kiến ​​rõ ràng về bất cứ điều gì.
Jason Sebring

Câu trả lời:


21

Tùy thuộc vào loại chương trình bạn đang cố gắng tạo, một IDE có thể làm cho toàn bộ quá trình, đặc biệt là xây dựng và triển khai, dễ dàng hơn nhiều. Điều này đặc biệt xảy ra khi bạn đang sử dụng các khung tương đối phức tạp.

Mặt khác, làm tất cả bằng tay giúp cải thiện đáng kể sự hiểu biết về những gì xảy ra dưới mui xe. Vì lý do đó, tạo ra một vài chương trình nhỏ "một cách khó khăn" là một bài tập tốt cho một người mới.


16

N00b có nên sử dụng IDE không? Điều này phụ thuộc vào mục tiêu của bạn là n00b. Dưới đây là một số mục tiêu trước mắt có thể:

1) Chỉ cần bắt đầu học một số ngôn ngữ lập trình / một cái gì đó về lập trình (giới thiệu nhẹ)

2) Trở thành bậc thầy và hiểu mọi thứ hoạt động như thế nào (giới thiệu hạng nặng)

Đối với 1), sử dụng IDE . Sử dụng một IDE tốt sẽ làm cho cuộc sống của bạn DỄ DÀNG. Không khó hơn. Học cách sử dụng IDE hiếm khi khó như vậy sau khi bạn cài đặt nó. Sau đó, để biên dịch và chạy chương trình của bạn, bạn sẽ chỉ cần nhấp vào nút "chạy" hoặc đại loại như thế. Gỡ lỗi cũng sẽ dễ dàng hơn ... chỉ cần nhấp vào một số nút gỡ lỗi.

Đối với 2), không sử dụng IDE (lúc đầu). Nếu bạn muốn hiểu mọi thứ một cách hoàn hảo, thì việc sử dụng trình gỡ lỗi và trình biên dịch dòng lệnh sẽ giúp bạn hiểu rõ hơn về cách mọi thứ hoạt động. Điều này sẽ khó hơn và có thể làm nản lòng lúc đầu.


Làm thế nào việc không sử dụng IDE sẽ cho bạn hiểu rõ hơn về cách mọi thứ hoạt động? Bạn sẽ bỏ lỡ các tùy chọn dòng lệnh của trình biên dịch và các lệnh gỡ lỗi, nhưng đó là cả hai điều mà bạn có thể tìm hiểu sau này trong phần giải thích một trang. Makefiles cũng không khó hơn nhiều. Tôi hoàn toàn không thể nghĩ ra bất cứ điều gì khác không tầm thường.
Rei Miyasaka

3
Tôi không nói có sự khác biệt giữa ngày và đêm, nhưng tôi chắc chắn sẽ không phân loại Makefiles và tất cả những thứ đó là "tầm thường" cho một nhà phát triển mới. Tôi cũng không nói rằng bạn sẽ hoàn toàn không biết gì nếu bạn bắt đầu với một IDE. Tôi chỉ nói rằng bắt đầu với dòng lệnh cho bạn ý tưởng tốt hơn về cách mọi thứ hoạt động.
Casey Patton

Chà, ý tôi là, Makefiles khá tầm thường sau này khi bạn hiểu rằng việc xây dựng chương trình thường bao gồm một số bước và rất nhiều tệp - điều mà IDE sẽ dạy bạn trên đường đi.
Rei Miyasaka

3
@ReiMiyasaka, IDE có dạy bạn điều đó trên đường không? Ấn tượng của tôi là nhiều lập trình viên không bao giờ tìm ra điều gì xảy ra giữa việc nhập mã vào IDE và tạo mã thực thi.
Winston Ewert

@Winston Vâng, họ làm. Không có cách nào để không nhận thấy rằng một cái gì đó xảy ra để tập hợp hàng tá tệp mã và thư viện. Tìm hiểu định dạng chính xác của dữ liệu mô tả các tương tác là hữu ích, nhưng một lần nữa, đó là điều có thể học được trong vài giờ sau khi đã hiểu rằng điều gì đó thực sự đang xảy ra. Bạn đã bao giờ thử dạy các danh sách liên kết mà không giải thích chúng tốt cho cái gì chưa? Danh sách liên kết có ý nghĩa hơn đối với mọi người một khi họ có lý do để cần biết chi tiết về nó. Cùng một thỏa thuận với các tham số makefiles và trình biên dịch và tất cả những thứ đó.
Rei Miyasaka

5

Là một người đang cố gắng học một ngôn ngữ mới trong một dự án sở thích nhỏ, tôi sẽ nói rằng hãy gắn bó với một trình soạn thảo văn bản với cú pháp tô sáng.

Khi bạn lần đầu tiên bắt đầu, bạn sẽ phạm sai lầm. Bạn sẽ quên một dấu chấm phẩy ở đâu đó hoặc viết sai tên biến. Không có và IDE bạn sẽ phải tập trung vào ngôn ngữ và cách bạn viết nó. Đây là học tập có giá trị.

Một IDE lớn sáng bóng sẽ cố gắng giúp bạn tiết kiệm thời gian bằng cách cố gắng nắm bắt những sai lầm này, điều này cướp đi của bạn từ việc học. Ngoài ra, như những người khác đã nói rằng việc học IDE cũng sẽ chi trả nhiều hơn cho việc học của bạn. Hãy tưởng tượng khi IDE gợi ý một cái gì đó, bạn sẽ tự hỏi tại sao nó lại đưa ra gợi ý, hoặc thậm chí nó là điều đúng đắn. Điều này sẽ chỉ thêm sự nhầm lẫn.

Tôi muốn bắt đầu một ngôn ngữ mới chỉ bằng trình soạn thảo văn bản, sau đó tôi xem xét bất kỳ trình cắm thêm Eclipse nào một khi tôi đủ tự tin.


4

thử thách thêm khi học IDE

Ý bạn là, phần mà IDE làm hầu hết công việc cho bạn?

Bây giờ, tôi chưa bao giờ sử dụng bất kỳ IDE PHP nào, nhưng giả sử rằng chúng hoạt động tương tự như các loại IDE khác, chúng giúp bạn tiết kiệm được khối lượng công việc khổng lồ. Công việc liên quan đến việc học IDE sẽ là đáng kể so với chức năng mà IDE giúp bạn không phải tự làm. Những thứ như hoàn thành mã và tô sáng cú pháp là những công cụ cực kỳ hữu ích và hoàn toàn không thể thay thế.

Mọi người viết mã chuyên nghiệp đều làm điều đó với sự trợ giúp của các công cụ như IDE và vì lý do chính đáng.


2
Tôi làm việc với PHP một cách chuyên nghiệp và tôi không sử dụng IDE, tôi sử dụng Vim!
Gary Willoughby

1
@Gary VIM là một IDE.
đúng

2
Không, đó là một biên tập viên. Định nghĩa của một IDE: en.wikipedia.org/wiki/Integrated_development_en môi trường Vim không phải là điều đó.
Gary Willoughby

1
Tôi khá chắc chắn rằng Vim đi kèm với những thứ như hoàn thành mã, hoặc có thể được thêm vào để làm như vậy, điều này khá nhiều làm cho nó trở thành một IDE cho mục đích này.
DeadMG

3
Có một sự khác biệt lớn giữa VIM và IDE. VIM không che giấu các chi tiết về những gì đang diễn ra như một IDE. Nhiều lợi ích của IDE có sẵn trong VIM. Nhưng gọi VIM là IDE thì không đúng.
Winston Ewert

4

Tôi nghĩ rằng một nhà phát triển PHP thiếu kinh nghiệm sẽ làm việc hiệu quả hơn với IDE.

Câu hỏi nên là, các nhà phát triển PHP có kinh nghiệm có cần IDE không?


2
đó thực sự là những gì tôi nghĩ nó có nghĩa là từ việc đọc sai tiêu đề ...
bunglestink

4

Theo nguyên tắc thông thường, tôi chọn như thế này:

  • Nếu đó là một ứng dụng nhỏ không có nhiều tệp, hãy sử dụng dòng lệnh.
  • Nếu đó là một ứng dụng lớn có nhiều tệp sử dụng IDE, vì bạn sẽ liên tục chuyển đổi giữa các tệp và có thể hưởng lợi từ các tính năng tổng quan và duyệt nhanh (đặc biệt là các ngôn ngữ hướng đối tượng).

Học cách sử dụng cả khi thích hợp. Bắt đầu với dòng lệnh.


3

có một vài điều sẽ giúp bất kỳ lập trình viên nào trong bất kỳ ngôn ngữ nào cho dù trình độ kỹ năng là gì:

  1. cú pháp tô sáng cộng với khớp nối

  2. kiểm tra cú pháp khi bạn nhập (rất tiện dụng để tránh hàng tá lỗi xuất phát từ một ;dấu ngoặc đơn bị quên hoặc không khớp)

  3. duyệt tài liệu dễ dàng (tuy nhiên điều này không cần phải có trong IDE),

    • các thư viện chính của bất kỳ ngôn ngữ nào cũng sẽ có tài liệu trực tuyến mà bạn có thể truy cập trong trình duyệt của mình,
    • nhưng tài liệu nội bộ (từ dự án bạn đang thực hiện) sẽ không được trừ khi bạn rõ ràng làm cho nó có sẵn
  4. tự động định dạng theo kiểu niềng răng đúng và khoảng cách chính xác (vì vậy bạn mất ít thời gian hơn để thực thi các quy tắc đó) (một lần nữa điều này có thể được thực hiện với một công cụ bên ngoài)

chỉ cần 1 và 2 trong IDE / trình soạn thảo


3

Tôi luôn sử dụng một IDE (Eclipse) và sẽ giới thiệu nó ngay cả cho người mới bắt đầu. Ưu điểm chính nếu bạn đang bắt đầu:

  • Phản hồi tức thì về mã xấu (ví dụ: lỗi cú pháp trong mã)
  • Chăm sóc thiết lập các dự án bằng cách sử dụng các quy ước tiêu chuẩn để bạn không phải lo lắng về các chi tiết cụ thể về cấu hình / hệ điều hành, v.v.
  • Có thể thường xuyên tạo mã mẫu mà bạn có thể xây dựng và học hỏi từ
  • Tránh bạn phải nhớ cả bộ tùy chọn dòng lệnh phức tạp và các lệnh để bạn có thể tập trung vào mã.

Tuy nhiên, mặc dù tôi nghĩ rằng bạn nên sử dụng một IDE trong gerneral, tôi nghĩ rằng nó đáng để thực hiện ít nhất một hoặc hai lần thực thi thủ công mã của bạn tại dòng lệnh. Điều này là để bạn hiểu những gì đang xảy ra dưới mui xe. Sự hiểu biết này sẽ giúp bạn nếu bạn cần gỡ lỗi các vấn đề sau này.


1

Một câu hỏi khác, không được hỏi: một lập trình viên PHP có kinh nghiệm có cần IDE không?

Một IDE giúp bạn tự động hóa quá trình xây dựng - nhưng với PHP, không có quá trình xây dựng. Làm nổi bật cú pháp là một tính năng rất hay, nhưng bạn không cần một IDE đầy đủ cho điều đó, rất nhiều trình soạn thảo văn bản nhẹ cung cấp đánh dấu.

Tôi thực hiện công việc PHP của mình trong NetBeans, nhưng đó chỉ vì tôi đã quen với NetBeans. Tôi cá là tôi cũng có thể làm điều đó với bất kỳ số lượng biên tập viên văn bản nào.


1

Nếu bạn mong đợi một cách hợp lý, về cơ bản bạn sẽ viết mã trong suốt cuộc đời hoặc địa ngục, ngay cả khi không - bạn nên có một trình soạn thảo / IDE mở rộng và bắt đầu học nó. Nếu bạn không đủ khả năng chi trả, hãy sử dụng Notepad ++ hoặc tương tự - thứ gì đó sẽ cho phép bạn bắt đầu nhiệm vụ suốt đời của mình là quyết định "tôi thích phím nóng của tôi như thế nào" và học những cái thông thường.

IDE công cụ của bạn, như tôi gọi chúng - Visual Studio, Eclipse, What-have-you, sẽ đến và phát triển, thường trở nên quá cồng kềnh và không phản hồi khi bạn chỉ muốn làm mờ mã hoặc mát xa / tái cấu trúc nó theo những cách nhất định.

Do đó, bạn có trình soạn thảo "nhà" của mình, người biên tập bên bạn suốt đời, người mà bạn yêu quý hơn cả GF của bạn.

Bạn sẽ đạt đến điểm sẽ hoàn toàn tự nhiên và hiệu quả khi làm việc trên một cái gì đó bằng cách sử dụng cả IDE công cụ và IDE gia đình của bạn cùng một lúc, tận dụng tốt nhất cả hai thế giới.

IDE nhà của tôi là SlickEdit, mà tôi đã sử dụng và mở rộng trong hơn 10 năm qua, trong thời gian đó tôi đã viết hơn 120 mô-đun Macro cho nó và tôi có hơn 1000 phím nóng.

Tôi có nhớ tất cả không? Không, có lẽ khoảng một nửa tại bất kỳ thời điểm nào, có thể là 60%, nhưng những người khác là cho các nhiệm vụ chuyên ngành, mà cuối cùng tôi tìm kiếm một cách theo yêu cầu.

Hãy nhớ rằng, cuộc sống rất ngắn ngủi, và nếu bạn làm toán trong bất kỳ dự án lớn nào, bạn sẽ thấy rằng ngay cả khi những người ngoài hành tinh nhân từ nơi mã hóa hoàn hảo từ xa vào đầu bạn để bạn gõ 8 giờ một ngày - bạn vẫn sẽ mất MONTHS để viết một cái gì đó lớn (không có trình soạn thảo thông minh, macro, mẫu, v.v.).

Đây là lý do tại sao. Kế hoạch dài hạn, mở đường vào tương lai thường xuyên.

Thật ra, rất thường xuyên. Mặc dù bây giờ nó có giá của bạn.


1

Tôi chỉ có thể chia sẻ kinh nghiệm của bản thân, cũng như một số hiểu biết về cách nó ảnh hưởng đến nhà phát triển.

Trước hết, tôi sẽ nói rằng tôi thích làm việc trong cả hai loại môi trường. Việc tôi đang sử dụng Vim và makefile với GCC hay QtCreator / Visual Studio với các môi trường và trình biên dịch tương ứng của chúng hoàn toàn phụ thuộc vào chính dự án và quy mô của ứng dụng.

Để học, thỉnh thoảng tôi sẽ sử dụng Vim đơn giản vì tôi ghét không biết mọi thứ hoạt động như thế nào và chỉ đơn giản là tắt và viết một cái gì đó thông qua sự thiếu hiểu biết. Khi tôi mới học viết mã, tôi đã làm nó thông qua C # và Visual Studio. Điều này đã dạy tôi những điều cơ bản. Tuy nhiên, sau một thời gian, tôi quyết định tự mình học cách sử dụng Makefiles và Trình soạn thảo văn bản đàng hoàng.

Rei Miyasaka nói trong một bình luận rằng bất kỳ ai cũng có thể học cách sử dụng Makefile trong vòng vài giờ mà không có gì nhiều hơn giá trị thông tin của một trang. Tôi hoàn toàn không đồng ý với điều này, đặc biệt là đối với một người mới. Nó có thể mất một vài ngày (ít nhất, trong trường hợp của tôi nó đã làm). Cũng đáng chú ý là hầu hết các tài liệu về Makefiles trải dài hàng trăm trang và trong khi bạn có thể giới thiệu tốt qua một trang duy nhất, để thực sự biết cách sử dụng chúng cần nhiều thời gian và đọc hơn.

Theo tôi, nếu bạn đủ tham vọng và bạn mới bắt đầu học, hãy cuộn một bản phân phối Linux (không quan trọng cái nào miễn là nó có trình quản lý gói tốt và tương đối ổn định - Tôi khuyên dùng Linux Mint hoặc thậm chí Debian chính nó) và tìm hiểu C. Bắt đầu với trình soạn thảo văn bản (tô sáng cú pháp, tự động thụt lề và hỗ trợ số dòng là musts - mọi thứ khác hoàn toàn là ưu tiên), chỉ đơn giản là học cách gọi trình biên dịch qua CLI. Khi bạn đã đi đến điểm bạn đã học cách viết mã chỉ bằng một tệp nguồn cho mỗi dự án là khi bạn rồibắt đầu học cách viết Makefile. Cũng đáng để chọn là Valgrind (nếu bạn đang viết bằng C / C ++, tôi không chắc nó có hỗ trợ các ngôn ngữ lập trình khác không). Sau một vài tháng mã hóa trong môi trường này, khi bạn thực hiện các dự án lớn hơn, hãy tìm hiểu một IDE (tốt nhất là FL / OSS) và bạn nên làm tốt.

Lý do tại sao tôi đề xuất điều này là vì việc sử dụng IDE hạn chế nghiêm ngặt một lập trình viên khi họ chỉ đang học. Tự động hoàn thành và quản lý dự án / xây dựng là rất tốt, tuy nhiên nếu bạn không có ý tưởng nào về cách thức hoạt động bên dưới mui xe, bạn sẽ bị hạn chế nghiêm trọng về mặt gỡ lỗi và / hoặc tìm hiểu tại sao ứng dụng của bạn không chạy đúng cách, đặc biệt nếu đó chỉ là do cài đặt trình biên dịch hoặc trình biên dịch không phù hợp do bạn hoặc chính IDE chỉ định.

Chúc mừng.


-1

Sử dụng một IDE sẽ làm cho cuộc sống dễ dàng hơn nhiều. PHP đặc biệt có rất nhiều hàm không nhất quán mà tự động hoàn thành trong IDE có thể giúp ích rất nhiều. Thêm vào đó, có một trình gỡ lỗi trong IDE của bạn thực sự là vô giá ...

Có một điều thú vị về sự đơn giản khi làm việc với các tệp thô trong trình soạn thảo văn bản, nhưng nếu bạn muốn tìm hiểu cách tạo ra một ứng dụng web thực sự, thì việc học cách sử dụng các tính năng của IDE sẽ hỗ trợ rất nhiều trong chạy dài.


-1

Trong các lớp khoa học máy tính của tôi, chúng tôi đã không bắt đầu với một IDE. Đó là điều chúng tôi đã làm SAU chúng tôi hiểu những gì chúng tôi đang làm.

IDE có xu hướng trừu tượng hóa quá nhiều cho người mới bắt đầu và cuối cùng tạo ra những kẻ ngốc có giáo dục. Ban đầu, điều quan trọng là bạn có được sự hiểu biết tốt hoặc cuối cùng bạn sẽ suy nghĩ trong IDE và không thể tìm ra những điều cơ bản mà không có nó. Bạn cũng sẽ bị giới hạn chỉ những gì IDE có thể làm. Một số IDE hoàn toàn độc hại khi có những thứ trừu tượng như vậy và có mô hình riêng mà nó thực sự khiến mọi người trở nên ngu ngốc khi sử dụng nó. Trường hợp trong các hình thức web điểm cho ASP.NET.

Có một cái gì đó để nói cho bootstrapping mình.


-4

Đây là của tôi về điều này:

  1. Người mới bắt đầu là những người duy nhất cần IDE. Điều này là do gỡ lỗi - người mới bắt đầu vẫn có thể gặp vấn đề trong việc hiểu cách thức thực thi của chương trình và bước qua mã có thể giúp với điều đó.
  2. Các lập trình viên tầm thường có thể tăng tốc quá trình lập trình của họ vì IDE cung cấp các tính năng cho phép bạn điều hướng dễ dàng hơn trong kho lưu trữ nguồn lớn và tìm vị trí của mỗi biểu tượng trong mã nguồn. Họ không cần ide nữa, nhưng đôi khi nó làm cho cuộc sống dễ dàng hơn.
  3. Lập trình viên nâng cao không cần IDE. Họ đã làm điều đó đủ lâu để giao diện người dùng của IDE quá chậm đối với họ - nhấn phím và chờ phản hồi chỉ mất quá nhiều thời gian - cần có phản hồi tức thì để không lãng phí thời gian. Điều hướng mã nguồn không phải là ưu tiên chính, vì họ có thể nhớ vị trí của mọi đoạn mã - họ đã đọc toàn bộ mã trước khi sửa đổi bất cứ điều gì.

1
Tôi sẽ bỏ phiếu nếu tôi có thể. Khi làm việc với các dự án lớn là không khả thi để giữ mọi thứ trong đầu bạn. Bạn không nhất thiết phải sử dụng ide, nhưng có một số công cụ cho việc này là bắt buộc.
Bwmat

@Bwmat, bây giờ bạn CÓ THỂ downvote
Pratik
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.