FreeBSD IDE?

SuperuserRoot

New Member

Reaction score: 1
Messages: 4

what is the best IDE for freebsd? i would like something like microsoft visual studio, but to create programs for freebsd on freebsd, and of course with a graphical interface
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 10,739
Messages: 36,540

what is the best IDE for freebsd?
This is highly subjective. What works best for me may not work at all for you. And an IDE for what language? What do you expect of an IDE?

i would like something like microsoft visual studio
Then you should use Windows and install it there.

but to create programs for freebsd on freebsd, and of course with a graphical interface
In what language? And you don't need an IDE to program, in any language. All you need is an editor and an appropriate compiler. There's plenty to pick from. But maybe you should learn the basics first, an IDE isn't going to help you with that. Get a good book for the language you're interested in and start learning.
 

vigole

Daemon

Reaction score: 1,173
Messages: 1,093

i would like something like microsoft visual studio
Then I guess you probably have some experience with Visual Studio in Windows, and also I'm completely aware that Visual Studio Code is not Visual Studio, but I think editors/vscode AKA Visual Studio Code, is a good alternative. It's all up to you, but it would be great to invest some time to learn developing in FreeBSD with native/traditional FreeBSD/UNIX tools. Read the following article: Unix as IDE
 

Zvoni

Active Member

Reaction score: 55
Messages: 128

This reminds me of 15-20 years ago, when the script-kiddies started to ask
"What's the best IDE for HTML?"
Answer: "Notepad".......
 

wolffnx

Aspiring Daemon

Reaction score: 211
Messages: 646

what is the best IDE for freebsd? i would like something like microsoft visual studio, but to create programs for freebsd on freebsd, and of course with a graphical interface
maybe I am wrong but you dont know any programing language "graphical" like GTK or QT dont?
for that case there is no magical IDE that make everything for you, if you can, learn from the basics
for example C and go for there
 

obsigna

Daemon

Reaction score: 819
Messages: 1,224

Sorry guys, I think I need to step in here. Only masochists use vi or any other console text editors for projects with 10ths of thousands of lines of source code in hundreds of files. You want to have something which integrates all this into one environment.

Everybody knows that the graphical interface of an IDE is more nice than exactly necessary. We usually take this for granted. BUT, we want to step through our code and be able to examine the variables when debugging. We want to have the static analyzer integrated. If we build GUI applications, we want to have a visual GUI editor which links the elements to our source code. We want to search/replace project wide. We want to have SCM tools integrated and compare on the fly old source versions with changed ones, which is specially helpful when something does not work as expected after some changes. We want to have code expansion and a one click integrated man/doc/help system.

Of course you can do all this with standalone tools, but sorry, I won't take those suggestions really serious. Admit it, you’re talking about programming of tools with max. 100 lines of code, don’t you? Well, for that kind of programming, I also already did it quickly and dirty with nano and searching/replacing with sed.
 

kpedersen

Daemon

Reaction score: 1,582
Messages: 2,433

There are generally two approaches:

1) A large IDE that tries to do everything (does this stem from Borland Turbo C++ from the ancient DOS days?)
2) A single text editor that edits text. Separate debugger, separate analyser, separate diagram tool.

I prefer the latter because I think it is a bit more of a modern approach (computers can now multi-task!). In this case my tools of choice are generally things like:
(n)vi, tmux, gdb, m4. But for many projects I also utilize things like valgrind, vtune, etc. I don't think you could find an IDE with all this functionality in it in any case.
 

drhowarddrfine

Son of Beastie

Reaction score: 1,995
Messages: 4,009

The advantage is you put together the tools you want to use, how you want to use them, with the minimal resources needed and not what's given to you.
 

ralphbsz

Son of Beastie

Reaction score: 1,985
Messages: 2,945

Only masochists use vi or any other console text editors for projects with 10ths of thousands of lines of source code in hundreds of files.
To begin with, coding and debugging is not at all 100% of the work of a software engineer. A very significant fraction of the work (I would say typically 1/3 to 2/3) is gathering requirements, designing, holding reviews, communicating with stake holders (be it customer support, engineering management, finance, ...). From a "improve productivity" point of view, much more important questions are: what tool do you use for e-mail and remote meetings? Is your company culture conducive to working together? Are coding rules sensible, and enforced reasonably? Is the requirements/design/code review process smooth, efficient yet accurate? Are source control, issue tracking, and project management tools integrated well enough to know what's important? These are big questions. Compared to them, details (like how to arrange windows on the screen) are actually minor.

Further, I work with lots of software engineers, on projects that start in total size at a million lines of code and go up from there, but are typically broken into subprojects where at any given moment, you're focussed on thousands of lines of codes. And most of my colleagues don't worry about IDEs, but discuss the really important question: emacs or vi? Because that's what a large fraction of the code editing is still done in: ssh windows to development machines (nearly always rack-mounted in some data center). But lots of graphical tools are also used. Certainly, to see visual diffs between versions, or to get a history of branches in the source code control, or to see what GUI-based code would output, or to integrate bug tracking with source control, one uses graphical tools; today they are usually web-based. A few people then stay in those tool chains to do the editing, but I think the bulk of the editing work gets done in a shell window with emacs or vi.
 

Jose

Aspiring Daemon

Reaction score: 692
Messages: 803

I'm with Obsigna. I've worked with people that hacked on massive C codebases using vi on a Sun workstation, but that's not for me.

I love the integrated debugger and shudder at the thought of having to go line-by-line in gdb or similar. I also love auto-completion. I don't have to remember how every API I might ever want to use in every language is spelled. I start to type and the IDE does the rest. Hovering over an expression can pull up the documentation for it most times. It's easy to find where things are declared and even all the places where they are used.

I use editors/vscode with Clangd for C and C++. I use java/eclipse with Pydev for Java and Python.
 

vigole

Daemon

Reaction score: 1,173
Messages: 1,093

I don't have to remember how every API I might ever want to use in every language is spelled.
Fair enough. I'm using both nvi/vim and vscode. It would depend on the situation. Function autocomplete is one of those. Another one was MPLAB, which is not available on FreeBSD.
 

Zvoni

Active Member

Reaction score: 55
Messages: 128

All true, but consider the way the OP posted his question, and Sir Dice actually broke it down to the most important question: Which Language to use?
I'm using Lazarus/Freepascal on Linux, but i know that Lazarus/Freepascal is available for FreeBSD, so there: A full IDE to write programs on FreeBSD for FreeBSD.
OP's question answered!
 

kpedersen

Daemon

Reaction score: 1,582
Messages: 2,433

My serious answer is jucipp.
That IDE does look really interesting. They look to have a thoughtful approach to what they support and the scope rather than just chucking in absolutely everything.

I think the biggest issue is that it only supports Clang which isn't really an issue for us ;)
 

Beastie7

Aspiring Daemon

Reaction score: 434
Messages: 585

Read the following article: Unix as IDE
This is an interesting view point. I’d be nice if FreeBSD had it’s own widget toolkit/Graphics Library to supplement native GUI development. Sort of like a barebones base system for applications, but the environment is still left up to the user.
 

vigole

Daemon

Reaction score: 1,173
Messages: 1,093

I’d be nice if FreeBSD had it’s own widget toolkit/Graphics Library to supplement native GUI development
It is possible. Case in point sound(4). (*) Although that's different story. It's in the base. Regarding the GUI, it's up to talented developers to develop a FreeBSD specific GUI system and maintain it in the ports tree. But it's a gigantic task. It takes a lot of time and investment. Frankly I don't think it ever happens. Of course for legitimate reasons. Let's imagine I'm a FreeBSD developer. Personally I prefer invest my time on embedded projects and dealing with CLI, rather than developing a GUI system from the ground up.

Footer (*): FreeBSD Sound
 

Beastie7

Aspiring Daemon

Reaction score: 434
Messages: 585

It is possible. Case in point sound(4). (*) Although that's different story. It's in the base. Regarding the GUI, it's up to talented developers to develop a FreeBSD specific GUI system and maintain it in the ports tree. But it's a gigantic task. It takes a lot of time and investment. Frankly I don't think it ever happens. Of course for legitimate reasons. Let's imagine I'm a FreeBSD developer. Personally I prefer invest my time on embedded projects and dealing with CLI, rather than developing a GUI system from the ground up.

Footer (*): FreeBSD Sound
I was thinking from the perspective of FreeBSD being a ”toolkit” for developing anything GUI related. Whether it’s a desktop GUI, a kiosk, phone/tablet OS, a console/media player, etc. It’d give FreeBSD complete independence from any external entity. We‘re going to be shipping DRM in base soon; It’d be nice to have other native libraries in base to facilitate GUI development. One could throw i3 on FreeBSD, and quickly get started, for example, using that “Unix as an IDE” concept.
 

kpedersen

Daemon

Reaction score: 1,582
Messages: 2,433

FreeBSD provides (n)curses in base. Since there does not exist a standard display system in open-source, I don't see how a meaningful widget set could ever be provided by a UNIX-like OS.
 

Beastie7

Aspiring Daemon

Reaction score: 434
Messages: 585

FreeBSD provides (n)curses in base. Since there does not exist a standard display system in open-source, I don't see how a meaningful widget set could ever be provided by a UNIX-like OS.
Is X.org not a candidate?

That's the problem. Division of labour is essential. Total self-sufficiency leads to poverty!
Chasing Linux upstream with shims and re-writing dependencies isn’t exactly productive either. That’s probably most of our ”desktop” ecosystem in FreeBSD anyway.
 
Top