Những tính năng mặc định nào mà Windows thiếu là cần thiết cho lập trình viên? [đóng cửa]


13

Những tính năng nào mà Windows thiếu có thể cải thiện năng suất của một lập trình viên. Tôi biết nhiều người sẽ muốn một số tính năng từ Linux và OSX được chuyển hoặc cũng được tạo cho Windows. Điều gì còn thiếu cho bạn?

Một ví dụ sẽ là tùy chọn để có nhiều không gian làm việc. Khi không có khả năng sử dụng màn hình kép có thể có ích.


Nhiều không gian làm việc? Ý bạn là ... thư mục con?
Shog9

10
@ Mr.CRT bạn đã bao giờ sử dụng linux chưa?
Ygrec

7
Tôi nghĩ bởi "không gian làm việc", anh ấy có nghĩa là máy tính để bàn ảo.
Jesse Hội nguyên

@Ygrec: có. Nếu, như jbinto đoán, bạn có nghĩa là máy tính để bàn ảo, thì tôi không chắc mức giá đó như một công cụ lập trình thiết yếu. Tôi thấy chúng rất hữu ích cho các tác vụ như chỉnh sửa hình ảnh, nhưng đối với lập trình chỉ cần mở nhiều bảng điều khiển cùng một lúc là đủ - và cả hai hệ điều hành đều hỗ trợ điều đó (mặc dù có sự khác biệt khá ... buồn trong các shell có sẵn).
Shog9

Cả gnome và kde đều đề cập đến tính năng của máy tính để bàn ảo là không gian làm việc cho đến nay là môi trường máy tính để bàn linux phổ biến nhất, cà chua / cà chua.
Đệ tứ

Câu trả lời:


14

Một trình biên dịch và một shell hữu ích.


Làm rõ dựa trên các ý kiến:

Tôi đã không rõ ràng, tôi nên đã viết trình biên dịch C / C ++. Trình biên dịch cho C # hoặc Fortran không được tính, vì nhiều công cụ và thư viện bạn cần yêu cầu trình biên dịch C hoặc C ++. Nó từng rất tệ, khi bạn không thể xây dựng các phần mở rộng C cho Python bằng một trình biên dịch khác ngoài microsofts, vì đó là những gì Python được biên dịch, tôi nghĩ MinGW đã giải quyết điều này và bạn có thể làm điều đó với MinGW, nhưng đó là lý do chính đáng tại sao một trình biên dịch C / C ++ tiêu chuẩn nên được đưa vào hoặc cung cấp miễn phí 20 năm trước. Microsoft mới chỉ bắt đầu hiểu được sức mạnh của việc có sẵn một đội ngũ lập trình viên sở thích.

Tôi đã không sử dụng powershell, có lẽ nó là tốt. Nhưng tính hữu dụng của bash đối với tôi không nằm ở ngôn ngữ shell. Gia đình ngôn ngữ * sh dù sao cũng là những con thú ghê rợn. Tôi thậm chí thích các tập tin hàng loạt. )

Có những thứ cũng tốt trong Windows, nhưng đó là một chủ đề khác. ;)


2
Đó là lý do tại sao các bản phân phối Linux thường gói một số trình biên dịch và trình thông dịch với nhiều phần mềm có sẵn hơn từ trình quản lý gói.
david4dev

1
@Victor Hurdugaci: Bạn có một điểm ở đó, nhưng điểm bị thiếu đáng kể nhất dĩ nhiên là một trình biên dịch cho C / C ++.
Lennart Regebro

4
Chắc chắn câu trả lời này đã hết hạn - bạn có được một trình biên dịch và trình bao hợp lý (powershell) trong Windows 7.
FinnNk

1
@Matt: Vâng, đó chỉ là sự cố chấp ngôn ngữ từ phía bạn. Có nhiều trình biên dịch miễn phí có sẵn cho các ngôn ngữ khác ngoài các ngôn ngữ của Microsoft và tôi nghi ngờ bạn sẽ buộc tội họ đã đẩy ngôn ngữ lên bạn.
Robert Harvey

4
Một vỏ hữu ích cho chắc chắn. Hoàn toàn vô lý khi năm 2010 bạn không thể tối đa hóa cửa sổ nhắc lệnh. WTF?!
Colin Goudie

10
  • Khả năng viết và chạy các chương trình bằng nhiều ngôn ngữ khác nhau (C, C ++, Python, Perl, Ruby ...) mà không phải cài đặt thêm bất cứ thứ gì.
  • Có ít nhất một trình soạn thảo văn bản với đánh dấu cú pháp được cài đặt theo mặc định.
  • Trình quản lý gói để bạn có thể dễ dàng cài đặt thêm thư viện, hệ thống kiểm soát phiên bản, IDE, v.v.
  • Một giao diện dòng lệnh mạnh mẽ.
  • Khả năng tinh chỉnh GUI để đạt hiệu quả tối đa (phím tắt, góc nóng, v.v.)
  • trang
  • Có mã nguồn của hệ điều hành và các gói phần mềm dễ dàng có sẵn và được cấp phép cho phép để bạn có thể sử dụng lại.
  • Hiệu suất tốt trên phần cứng khiêm tốn.

2
"Có mã nguồn của hệ điều hành và các gói phần mềm dễ dàng có sẵn và được cấp phép cho phép để bạn có thể sử dụng lại nó." Gì?
Ygrec

2
apt-get source package-namebất cứ khi nào bạn muốn biết làm thế nào một gói phần mềm cụ thể hoạt động.
david4dev

4
Tôi không đồng ý với điểm đầu tiên của bạn. Tại sao làm mờ hệ điều hành với các trình soạn thảo, trình biên dịch và môi trường thời gian chạy khác nhau, hy vọng rằng bạn sẽ làm hài lòng tất cả mọi người? Tốt hơn là để mỗi lập trình viên cài đặt những thứ mà anh ta cần.
Victor Hurdugaci

3
@Victor Hurdugaci: Điều đó sẽ đúng nếu Windows chưa hoàn toàn không có gì. Một cài đặt linux thông thường là một thứ tự nhỏ hơn và đi kèm với tất cả những thứ này.
Matt Joiner

2
(1) Tôi mới cài đặt Ubunto và phải cài đặt riêng ngôn ngữ và công cụ dev, giống như tôi làm trên Window. (2) Notepad thực sự là một trình soạn thảo mặc định không đầy đủ; TextPad gần hơn với một điểm ngọt ngào. (4) Bàn phím tổng thể của Window hỗ trợ tốt hơn bất kỳ máy tính để bàn Linux nào tôi đã sử dụng; Tôi có thể vận hành máy tính để bàn và hầu hết các ứng dụng mà không cần cắm chuột.
Bùn

4

Tôi có thể bỏ "yêu cầu" khỏi tiêu đề khi tôi đã phát triển cho Windows trong gần 20 năm. Tất nhiên, tôi đã phát triển khá nhiều hộp công cụ tiện ích và công cụ. Xem danh sách của Scott Hanselmann cho người mới bắt đầu. Đó là đỉnh cao và nhìn lại tất cả các cách cho đến năm 2003.

BTW, Windows 7 bao gồm PowerShell giúp nhận xét "vỏ tốt".

Điều đó nói rằng, thật tốt khi có các công cụ tốt hơn được tích hợp. Hãy sử dụng bất kỳ công cụ nào trong danh sách của Scott.

Trên thực tế, MS chắc chắn có thể cải thiện giao diện người dùng của nhiều công cụ tích hợp như regedit, tác vụ mgr (xem Trình giám sát quy trình) và các công cụ xem sự kiện hoàn hảo. Sẽ rất tốt nếu có hỗ trợ tích hợp cho nhiều clipboard. Từ OSX, tôi muốn phơi bày và hỗ trợ nhiều máy tính để bàn của họ là tốt. Sẽ thật tuyệt nếu Windows tự nhiên (còn gọi là dễ dàng hơn) hỗ trợ kéo văn bản từ các hộp văn bản.

XCode thực sự hút IMO vì vậy tôi không muốn điều đó trên Windows. VS tốt hơn nhiều nhưng không được tích hợp sẵn nên có thể tích hợp VS Expess với khả năng nâng cấp. Tất nhiên, dấu chân của hệ điều hành phát triển cùng với điều này (giống như của OSX) nên cũng có nhược điểm.

gcc phân tán là rất tốt vì vậy sẽ rất được hoan nghênh như là một khung dựng sẵn cho bất kỳ trình biên dịch nào sử dụng (xem Incredibuild cho một giải pháp VS).

Sẽ thật tuyệt nếu dễ dàng hơn để sử dụng và sử dụng Bản kiểm tra bản dựng của hệ điều hành để tìm các vấn đề. Sử dụng cáp gỡ lỗi là một chút cực đoan cho thông tin tốt mà bạn nhận được từ Bản dựng đã kiểm tra. Máy ảo có thể thực hiện việc này một cách dễ dàng - nếu vậy ai đó vui lòng nhận xét bằng một liên kết.


Yep một IDE cơ bản sẽ đặc biệt tốt, thất bại rằng trình soạn thảo văn bản OK vừa phải sẽ là một khởi đầu.
FinnNk

@FinnNk, bạn có yêu cầu gì đối với trình soạn thảo văn bản "vừa phải OK"?

Một số hỗ trợ cho tô sáng cú pháp, tìm kiếm / thay thế regex, nhiều cửa sổ, khoảng trắng hiển thị và đánh số dòng - vì vậy tôi không có ý tưởng nào giống như emacs (mặc dù đó là một tùy chọn tốt). Mặc dù không thực sự là một trình soạn thảo văn bản, nhưng với một chút mã .net ngày nay tôi sử dụng LinqPad rất nhiều.
FinnNk

4

BASH, sed, grep, awk, tìm và ssh


Tôi đã chạy hầu hết những thứ đó trên windows ... và có thể thực hiện hầu hết các thao tác trên với powershell.
Murph

2
ssh với x windows hỗ trợ;) Bash rất mạnh nhưng mọi thứ bên dưới đều có thể tùy chỉnh, shell chỉ mạnh bằng tài nguyên mà nó có thể thao tác.
Đệ tứ

Từ khi nào awk và sed cần thiết cho một lập trình viên?
Năng động

2
  • Sao chép / dán cho nhiều đối tượng
  • Dán định dạng miễn phí (không có thông tin về phông chữ / kích thước)

3
+1 cho định dạng miễn phí. Tôi luôn luôn dán vào một vùng văn bản trên một trang web hoặc notepad và sau đó cắt để loại bỏ các kiểu văn bản.
Macneil

3
Windows không hỗ trợ dán văn bản đơn giản, các ứng dụng chỉ cần thực hiện nó như một tùy chọn.
GrandmasterB

1
@GrandmasterB Sau đó, mong muốn cho các clipboard không định dạng là mặc định.
pestaa

2

Khả năng thay đổi UI thành kiến ​​thức người dùng dựa trên cấp độ khác nhau.

Ví dụ như là nhà phát triển / quản trị viên, bạn có thể cần cấp chuyên gia về UI.


1

Các công cụ xử lý tệp Unix (wc, sort, uniq, awk, cat, grep, find, et cetera), bao gồm-- như những người khác đã đề cập-- một vỏ tốt (ví dụ: bash).

Để có hiệu quả trong Windows, khi tôi làm việc với bất kỳ văn bản nào có liên quan, cuối cùng tôi sẽ cần phải đi vào hộp công cụ lệnh Unix. May mắn thay, Cygwin là một nguồn tài nguyên tuyệt vời chỉ cho mục đích đó.

Điều đó nói rằng, bạn cần phải "thuần hóa" Cygwin để hoạt động tốt với hệ thống tệp Windows; trừ khi bạn ghi đè một số cài đặt mặc định, bạn có thể nhận được các tệp có quyền khó chịu khó xóa. Bất cứ điều gì vượt quá nhu cầu cơ bản và tốt hơn hết là bạn nên khởi động bằng máy ảo hoặc khởi động kép, nhưng với mục đích của tôi, tôi khá hài lòng với Cygwin.


0

Tôi đồng ý với các bài viết khác để thêm:

Tôi nhớ ssh với x chuyển tiếp vs cửa sổ máy tính từ xa. Đối với những người không biết bạn có thể chạy một chương trình máy tính để bàn trên mạng nhưng nó hoạt động như một cửa sổ cục bộ.


0

Hỗ trợ cho các đối số dòng lệnh dài hơn. Bạn sẽ nhanh chóng gặp vấn đề khi xây dựng các giải pháp java phức tạp không sử dụng các hệ thống xây dựng microsofts.


0

valgrindgcov?

Tôi sử dụng PowerShell khi phát triển trên windows (như một sở thích) và tôi đã cài đặt các công cụ GnuWin32 (sed, awk, grep, v.v ...) và Python để có được một đoạn script dễ dàng, vì vậy không có vấn đề gì.

Nhưng tôi thấy mình va vào tường bất cứ khi nào tôi muốn kiểm tra chương trình của mình ... Chắc chắn tôi có thể sử dụng trình gỡ lỗi (một chút) nhưng:

  • Làm thế nào để phát hiện một bộ nhớ bị rò rỉ?
  • Làm thế nào để xác định các bộ nhớ lợn?
  • Làm thế nào để xác định các điểm nóng?
  • làm thế nào để xác định các phần chưa sử dụng / chưa được kiểm tra của mã?

Tôi đã thấy một số công cụ ở đây và ở đó và có một câu hỏi hay về StackOverflow và số lượng công cụ được liệt kê là khá đáng sợ ... và những hạn chế của chúng cũng vậy.

Linux đã được các nhà phát triển tạo ra cho các nhà phát triển, vì vậy nó có nhiều công cụ thân thiện hơn với các nhà phát triển :)


0

Sao chép / dán với chức năng lịch sử.

May mắn thay ClipX cung cấp một giải pháp:

ClipX

PS Tôi không liên kết với ClipX;)


-1

Một shell tốt, cộng với một trình biên dịch sẽ là một khởi đầu tốt khi có liên quan đến các tính năng "mặc định".


csc.exe được bao gồm trong .NET framework. Bạn có thể biên dịch mã C # với nó.
Victor Hurdugaci

@Victor: Có bao gồm Windows stock không?
Josh K

Đúng. .NET 3.0 được vận chuyển cùng Windows 2008 và Vista trong khi 3.5 được vận chuyển cùng Windows 7.
Victor Hurdugaci

3
Tôi đồng ý, nếu chúng ta đang nói về phiên bản hiện tại của windows thì câu trả lời này không có ý nghĩa gì - bạn có cả trình biên dịch và powershell.
FinnNk
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.