home | list info | list archive | date index | thread index

Re: looking to document a decent (fedora) linux development environment

  • Subject: Re: looking to document a decent (fedora) linux development environment
  • From: "Brenda J. Butler" <bjb [ at ] sourcerer [ dot ] ca>
  • Date: Sun, 14 Jul 2019 23:17:14 -0400

It may be worth looking at the non-C programmer requirements to see if
that can help them narrow their choices.  They should pick a suite of
software that all works together.

For example, jenkins is java-based.  If they were going with that,
they could also use eclipse.

If not, they might prefer buildbot to jenkins ... buildbot is
python-based.  buildbot may not be as versatile as jenkins though -
not as many plugins, not such a large userbase, etc.  Dunno what
they'd use for an IDE ... I use emacs : -)   I think KDE has
some kind of IDE.

Depending on what the non-C programmers do, that might help decide the
build system, whether it is make, cmake, ant, gradle, maven, shell
scripts, what-have-you.

If there is any "deployment" happening regularly, they might want
something like puppet, chef, ansible, or similar.  I've used python's
Fabric in the past - it's more of a toolkit than a finished product
though but I liked it.  Very low profile (only requires ssh server on
remote machines).

Static analyzers ... the C compilers themselves are improving at that.
However Valgrind still beats them for memory leak and other memory bug
detection, last I checked (about a year ago).

Could include wireshark/tcpdump/libpcap, lsof.  Some kind of dbus
snooper perhaps, since many (most?  all?) Linux distros are going for
dbus.

Since you mention "editor plugins for C coding", I will say I'm using
org-mode for emacs - more as a PIM/calendar/agenda/todo-list/notes
organizer.  But it is very extensible, and apparently can be used for
"literate programming".  org-mode can also export the notes in various
formats - html, LaTeX, other - and can therefore be used to make
presentations and aid in converting one's personal notes to company
documents.

emacs has lots of plugins for syntax highlighting of various
languages, and also for "electric indenting".  The "electric
indenting" is configurable.  Some of the plugins come with standard
emacs and some of them are extra.  Like Perl, TeX, Python, etc, emacs
has its own packaging system ... oh well.  What can you do.  Also has
TAGS integration and apparently version control integration.
And you can directly edit files on remote machines using "tramp"
(an ssh-based instead of filesystem-based backend).  Ok I will
stop with the emacs evangelization.  Sorry about that.

Less technical considerations:

For an in-house messaging platform ... irc?  People seemed to prefer
XMPP five years ago (last time I checked).  For a java house, openfire
maybe.  Although when I used it last (5 years ago and more) it needed
regular restarts because of memory leaks.  You can always schedule
pre-emptive restarts I guess.  Openfire was the only java-based
messaging platform I used - maybe there are better ones.  I suppose
everyone uses slack now, except the cool kids, who use discord.  So
I've heard.

Also, for documentation: inkscape, doxygen, etc.  I found rst2pdf
handy (which depends on reportlab (python-based), but unfortunately
that dragged in tetex-live, what can you do).  With those, at least
you can put the source for your documentation into a version control
system and diff the various versions.

Issue tracking system: trac, request tracker, bugzilla.  request
tracker has a commercial support provider, "Gossamer Threads", I can
recommend them from recent direct experience.  Vancouver-based
company.

bjb



On Sun, Jul 14, 2019 at 05:08:02PM -0400, Robert P. J. Day wrote:
> 
>   a client of mine has a small number of (mostly C) developers to be
> migrated from windows to linux, and wants some guidance as to how to
> set up a reasonably complete linux-based development environment that
> includes not just the standard compilers and interpreters (C, C++,
> perl, python, etc.), but a solid collection of utilities for coding,
> debugging, performance analysis and so on, so i decided to create a
> doc describing a first pass at a decent linux dev environment, and i'm
> open to suggestions.
> 
>   first, as i mentioned, there are all the standard
> compilers/interpreters, so that needs little elucidation. but after
> that ...
> 
>   in terms of coding, i guess it's worth mentioning the standard IDEs,
> as well as editor plugins for C coding; also static analyzers like
> splint, etc.
> 
>   for debuggers, obviously, gdb/lldb. for user space tracing, strace
> and ltrace. for memory checking, valgrind. all the usual suspects.
> 
>   i'm going to put all this on a public wiki page once i get it done,
> so i'm curious as to what folks out there think are "must haves" in
> terms of linux development tools. (i'm not even going to get into
> kernel analysis/tracing tools, which just explodes this
> exponentially.)
> 
>   thoughts? any recommendations for online articles that address this
> sort of thing?
> 
> rday
> 
> To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
> To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
> To visit the archives: https://lists.linux-ottawa.org
> 
---end quoted text---

To unsubscribe send a blank message to linux+unsubscribe [ at ] linux-ottawa [ dot ] org
To get help send a blank message to linux+help [ at ] linux-ottawa [ dot ] org
To visit the archives: https://lists.linux-ottawa.org