Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Most offices today use Microsoft Office for documentation and presentation. Lots of programmers prefer to work and develop under Linux. When your shop uses both, how do you do your development in Linux and documentation in Windows and stay productive?
I would just do the documentation in Linux too. MS Office can be run using some Wine derivative (or so I'm told), but I would rather use OpenOffice.org for such documents.
If you absolutely have to use Windows, you can boot a virtual machine (using e.g. VirtualBox) and do the dirty work while still having access to your preferred environment.
The teams I've been with always write documentation in Linux. POD makes it very easy to write tolerable-looking man pages, and higher-level ("glossy") documentation can be done with simple tools (HTML), moderate-complexity tools (markdown) or with very complex tools (LaTeX).
To each their own, but I'd avoid the Office and OpenOffice tools like a skunk, because they play so poorly with git, svn, cvs, etc. (diff, blame, merge, etc., just don't work with a big binary pile of data.)
There are two options that I've seen used.
(1) Use web-based documentation. Examples include Google Docs or a wiki. As long as you have a web browser, you can view and edit the documentation.
(2) Use a cross-platform office suite. I have OpenOffice.org installed on Linux and it can open Microsoft Office file formats, including the new .*X format. The only thing that you need to do is to make sure that you open it in a Microsoft product later to make sure the formatting is still good.
But everyplace that I've personally worked performed cross-platform development. In these cases, the development machines were typically Windows boxes and the developers either ran Linux VMs or SSH'ed into a Linux server to test their work on the deployment environment.
Steve Streeting wrote an interesting blog post about his technical documentation tool chain with the following requirements:
Lets the author concentrate on content rather than style
Generates multiple formats from one source (HTML, PDF, man pages, HTML Help etc)
Does all the tedious work for you such as TOCs, cross-references, source code highlighting, footnotes
Is friendly to source control systems & diffs in general
Standard enough that you could submit the content to a publisher if you wanted to
Preferably cross-platform, standards-based and not oriented to any particular language or technology
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I like F# but sometimes I need something light and cross-platform and without .NET for sure.
I tried to use OCamL many times but seems like I just can't start it.
Installed IDEA, added OCamL plugin -> Doesn't work
Installed eclipse ODT plugin -> Can't launch even config OCamL compiler - too complicated
Even had tried NetBeans plugin a long time ago but even can't deal with it.
So, for now, I'm using ocamlc -o "main.exe" "main.ml" from the command shell and different light editors. I don't use Vim or Emacs, I'm using nano and I have a habit of usage full-featured IDEs.
I found various documentation (this is looking like the best to start http://caml.inria.fr/pub/docs/oreilly-book/html/index.html for me) but still being confusing when looking for something a bit specific alike sqlite access. found this: http://neugierig.org/software/ocaml/sqlite/ with strange api annotation and no examples. And all the documentation about IDE usage I found are outdated or doesn't work.
Addition subquestion: some people told me "don't use OCamL, it's a dead language for students with low libraries support and seems like dying, use python or ruby instead". But I like the beauty of OCamL. I want to give it a try. Tell me if that is normal to use OCamL for production code today?
thank you.
There is TypeRex, a new development environment for OCaml. Here is a summary of TypeRex features:
Improved syntax coloring
Auto-completion of identifiers (experimental)
Browsing of identifiers: show type and comment, go to definition, cycle between alternate definitions, and semantic grep;
Strictly semantic-preserving, local and whole-program refactoring:
renaming identifiers and compilation units
open elimination and reference simplification
Robust w.r.t. not-recompiled, possibly unsaved buffers
Scalable (used regularly on a few hundreds of source files)
There are some screenshots available on the website. The first release candidate is out since yesterday.
EDIT: The first release (v1.0) is out now :-)
There are a few options:
Tuareg for emacs was already mentioned: http://tuareg.forge.ocamlcore.org/
vim has a few options for OCaml integration, with one good example available here: http://www.ocaml.info/software.html#vim
OcaIDE seems to be the best option for Eclipse: http://www.algo-prog.info/ocaide/
Geany, Komodo Edit and a number of other editors have syntax highlighting support for OCaml and some extra IDE-like features which are independent of the programming language being used. Most of these have limited OCaml-specific support.
OCaml is not dead. Some of the more vocal industry users of OCaml are XenSource/Citrix and Jane St. Capital. The language does not receive the same public and community evangelism that some other languages receive.
It's been years, but I really liked emacs' tuareg mode http://tuareg.forge.ocamlcore.org/
But if you're afraid of emacs, then it's not the right tool.
I specially like the shell integration and the possibility to "throw" a function you're developping in the shell and then test it.
EDIT For the subquestion, OCaml seems dead, and it's a pitty. However you cannot compare it with ruby/python. I'd say it's main competitor is Haskell which seems to be growing in popularity.
Googling "ocaml ide" shows now http://camelia.sourceforge.net/ as the first result. Haven't tested it though, so I can't really say if it is recommendable or not.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there a good IDE to work with VHDL projects ?
Or are most of the professionals working with emacs/vim/notepad++ ?
I use Emacs+VHDL-mode which is great if you don't mind (or have already climbed) the learning curve of Emacs.
Alternatively, you could try Sigasi-HDT which is Eclipse-based and has more GUI. And some more powerful refactoring tools by the look of it.
I have been using Sigasi HDT since it was released in january (I think) and am very pleased with it so far. Previously I used Vim for all my editing (C or VHDL), but since I switched to Sigasi I have not looked back. The Eclipse based plugin is much more than just syntax highlighting. The auto-completion of components and entities is a real time-saver and you avoid a lot of errors. You can download a free trial from their website (http://www.sigasi.com) and I encourage you to give it a try with grlib (http://www.gaisler.com) to see the real power of the plugin.
Maybe Xilinx ISE or Altera Quartus.
I once tried - at least I wanted to try - Altera Quartus, but I soon switched to a normal editor and took GHDL for simulation.
But I am no professional, so I suppose they are using some of the former two products.
Engineers in large semiconductor companies are using emacs/vim for code editing.
Integrated Development Environment doesn't make much sense there, since a project is a few thousand HDL files taken from different places on a *NIX network, setup scripts for a dozen different tools, and cron jobs to do frequent builds.
For simpler FPGA projects developed on Windows I've seen people using Borland CodeWright, UltraEdit, and Crimson Editor.
I've been using Notepad++ along with the free vendor tools to edit my VHDL on Windows.
My best bet is to use VIM to do whatever i need to for VHDL formatting. VIM has an extremely powerful facility to develop custom plugins, and no amount of IDE hopping will give you all the customization you would ever need.
Things like signal names < 20 characters, procedure lengths < 100 lines, no use of linkage ports -- all of these can be coded in VIM with minimal effort. You could actually run vcom or ncvhdl from within VIM and then see where the errors are.
Having said all this, you might want to take a look at what Sigasi has to offer. If you need more help on this, let me know -- it'd be fun coding a VIM plugin.
Emacs + VHDL mode + a compiler / simulator + source control.
The VHDL mode is configured to use the compiler to compile the design and optionally run the simulation.
Emacs can link with the source control to correctly check in, diff and tag.
I personally like this set up because the editor is open source and I can use it anywhere (Mac, Linux, Windows). The compiler / simulator can be anything from a free download (FPGA vendor sponsored Modelsim or GHDL) to a grid engine. Once set up, it pretty much becomes invisible.
Simplifide also has an eclipse plugin which supports VHDL, Verilog and SystemVerilog which contains all of the standard IDE features and more.
It can be downloaded at http://simplifide.com
I'm just using Scite, like for most other coding.
Some things in Scite make my VHDL coding pleasant:
Coloring is easy to set up. Either download a ready .properties file or modify the Ada mode.
Scite has a snippets plugin that's very useful for VHDL. All those boring process and architecture definitions are generated automatically for me with a couple of key-presses.
Scite is easy to customize with external scripts: I have scripts for compiling the current file, for fixing indentation, for listing all processes and so on, the possibilities are limitless.
Besides the big ones Sigasi and Simplifide there is also ZamiaCad a free VHDL IDE: http://zamiacad.sourceforge.net/web/
It depends on the kind of project you are developing. Modelsim provides a good IDE but the code editor lacks the advanced features we are accustomed to use. I use VIM to write the code, and Modelsim to simulate, debug etc...
There's another VHDL-IDE, it's a plug-in for Visual Studio, but as far as I could see, it is also available as standalone version (ie, you don't need a Visual Studio license). It seems relatively new, but so far I really like it.
http://www.vide-software.at
I switched to use Vim because it has a very large list of plugins for almost any language (I believe Emacs do also). You might not get the best VHDL IDE ever with it, but you get a familiar interface for every code and non-code you must edit. Plus, as you move between companies, you can take your environment with you.
For the ones using Vim, check vim-hdl. It's a plugin I'm working on that provides syntax checking based on simulators/compilers. I'm using daily with ModelSim and so far works nice.
Emacs with the appropriate language mode is my vote. Basic editing is easy enough to learn and there are a lot of example config files out there.
Kevin.
I'm using Xilinx ISE for educational purposes, it works really well. And it has everything. After applying for a student license, the student version it free to use, but it takes up a lot of space. The installation file alone is more than 6 gb. The book we use for school is referring to xilinx special properties. (“FGPA Prototyping by VHDL Examples”). I'm also programming on a nexsys 3 spartan 6 testboard, and I'll be using xilinx for another year, but when I finish the course I’m gonna look for something smaller. Happy to read about the lightweight alternatives.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am looking for recommendations for a tool that will let me construct a binary image out of a series of smaller images.
I have an embedded system with a flash ROM that I program using a single image. That image consists of a series of smaller objects (data, compiled code, etc) placed at specific offsets. The build system I inherited uses a disturbing amalgam of old 16-bit DOS utilities to hack the image together. I was hoping to find a modern tool that would do the job in a less arcane (and less bug-prone) manner.
The tool needs to be able to run from a config file. That is, I specify that file A.bin needs to be placed at offset 4KB, file B.bin needs to be placed at offset 16KB, etc etc in a configuration file so that the tool does not require repeated manual command-line invocations. This is mainly because we have another system that will be auto-generating these config files.
The tool also needs to be open source (or at a minimum, cross-platform). We have developers using Windows and automated build systems using Linux and the tool would need to work on both.
I have debated hacking together my own utility in C, but before I went through all the trouble developing and debugging I wanted to ask and see if someone knew of a tool that was already out there that I missed.
Edit: Cygwin-related tools are unfortunately not an option for us. One of our critical build tools will crash if it is run on a system with Cygwin installed (I think it uses a specific, older cygwin DLL but that's an entirely different fiasco unto itself).
I usually write my own, but via Jack Ganssle's Embedded Muse newsletter No. 184 I came across http://srecord.sourceforge.net/ which will do just about anything with almost any type of binary image file (despite its name it handles far more formats than just Motorola S-Records, including raw binaries). It may save you some time.
dd would be definitively your best friend.
Use cygwin for windows users.
The Elfweaver utility that is distributed with OKL4 may be appropriate for you. From the manual:
"Elfweaver is a tool that may be used to manipulate ELF files. Elfweaver is written as a Python 2.3 application that only uses cross-platform libraries. Therefore Elfweaver should run on Linux, Mac-OS X and Windows. The main functionality of Elfweaver is that it allows the user to merge multiple ELF files into a single ELF file"
http://wiki.ok-labs.com/downloads/release-3.0/okl4-ref-manual-3.0.pdf
If you think that looks suitable, you can get the tool along with the okl4 source code from the OKL4 website.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed last year.
Improve this question
Frequently I'm brainstormed with programming ideas that I would like to directly code. More or less like "Wow, that algorithm will rock! I need to write it now!".
For this kind of "impulse" to write, I use http://www.jarte.com/ that is a cool portable text editor. If I'm near a cybecafe or a friend computer, I just plug the usb pen drive and start to write...
So, I would like:
1) a portable minimalist IDE
2) with minimal OS requirement (ie.: I want run from XP, Vista, etc...)
3) any modern language (I can learn a new language if needed. I just want write/test the algoritm)
4) Syntax Highlight/intellisense is good, but not required
5) Free
Is there something like this?
Eclipse isn't "minimalist", but it does work installation-less. So as long as your USB key, or whatever, is large enough, you can put Eclipse in there and be ready to go.
alt text http://sts.bkukr.de/l-davoss/blog/Lists/Blog/Attachments/21/SharpdevelopPortable.jpg
Sharp Develop Portable:
Dave blogged all you need to know to get you started!
C# support on the run, and much, much more.
Please have a look at ideone.com - supports 40+ langugages
Well, IDEs are often better suited depending on the programming language you want to use. I'm not really sure if you're looking for a text editor or an IDE, but:
As far as I'm concerned, I'd use:
Java: Eclipse (though not very minimalist)
C/C++: vim and g++, Code::Blocks
Ruby/Python/Perl: vim + interpreter
TextMate (best editor ever) on Mac OS X ($39.99) and e editor (Windows' TextMate equivalent)
I also find NotePad++ to be a decent text editor, very minimalist.
Some people are crazy in love with emacs, you might want to check it out.
You can also carry NetBeans on your USB drives: http://nbide.blogspot.com/2008/03/portable-netbeans.html and http://nbide.blogspot.com/2008/04/portable-netbeans-part-ii.html
I'm late to the game, but a something worth mentioning is Squeak Smalltalk, or one of its derivatives like Pharo or Croquet. No changes to the registry or OS, no installers, no Services, no Admin rights needed, and only a few files needed- a full install in half a dozen files.
1) binary and source portable code; nice IDE, but with a minimalist disk footprint (5-50 MB)
2) Runs on almost any OS- one cross-platform binary image and a small virtual machine executable for each platform- one for 95/98/ME/XP/2k/XP/Vista/7/2003/2008; one for WinCE, one for OS X, one for Linux x86, etc.; (0.5-2 MB) for each platform. You can even boot onto bare metal, if you're hardcore.
3) It's Smalltalk. Birthplace of most buzz-worthy Ruby features...
4) Syntax Highlight and some level of intellisense is good built-in.
5) Free as in speech and beer.
Smalltalk isn't for everyone, but it's my personal fave. The fact that I can use the same binary image on my XP desktop, Linux server, iPhone and WinCE PDA without recompilation is a great bonus.
Emacs + a compiler/interpreter sounds like what you want.
For C/C++, DevC++ works off of a usb drive. It runs off of XP, and I believe Vista as well (never tried that). It also has syntax highlighting.
Only problem is (I'm assuming this) is that it doesn't work for other languages.
I frequently use Firefox + Firebug when I want to quickly hack together something.
You may be looking for vim. Now, it won't be easy to learn how to use vim, but I'd count it time well spent. This is an unix utility that has been ported to basically every architecture and operating system see Portable GVim for the portable version. For info on using vim as an IDE, see here and here
i use Instant rails with netbeans from my stik
(source: bluej.org)
Try BlueJ (Running BlueJ from a USB (thumb) drive).
Other alternatives;
Snippet Compiler
(source: sliver.com)
CodeIDE an online IDE.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What do you consider the most rapid RAD environment for a working prototype? Not for debate.
language
platform
IDE
DB
(personal note)
Thank you.
P.S.1 I was pretty happy with PERL for back-end prototyping... I get stuck when dealing with the UI... it doesn't seem to come as easy...
It's all pretty subjective I guess, but as you asked 'what do you consider', so...
Delphi 7 onwards (technically object pascal or Delphi language, I guess)
Windows 2003/XP
version 7 is the classic, newer ones don't seem as easy to prototype stuff in (to me)
SQL Express
in comparison I've used VB6, MS VC++ (from a long time ago), FoxPro/Windows and Visual FoxPro, and a very small smattering of VS2005 (C#). For me, Delphi is the all-round king every time. :-)
For prototypes on Windows, Visual Basic is hard to beat. If you need to suppoort another platform (or multiple platforms), then Tcl/Tk is fairly productive, as well.
I've always considered Perl to be my prototyping language of choice, for a few reasons:
CPAN - There's a module for just about anything.
It's easy to create hacks to mimic, fake or do something quick and dirty.
It works everywhere.
I think "most rapid" is heavily subjective. A developer with many years in VB will likely be fastest at prototyping in VB. A Java developer in Java. Ruby in Ruby. The "most rapid", then, is going to be heavily skewed by the assets (code libraries, developer experience and tools) you already have in house.
What you define as a "prototype" also heavily affects things. Is a set of pseudo-working screen shots mocked up in Flash to have some clickability for navigation enough? What is the required feature set and what is the target audience for the prototype?
As you can see "best" is going to vary pretty widely. It's probably close to certain that the language will be high-level and the IDE tools are going to have nice UI designers (assuming the prototype has a UI). If you have a lot of DB work, then database wizards that do the SQL grunt work for you will save time and generate reasonable, if not optimized, objects. The platform would likely be whatever platform the prototype should be for - after all prototyping a Windows app under Linux or a Symbian app under Palm OS probably won't give you too much benefit.
VFP is great for prototyping. I've seen posts (sorry, don't have links) from Microsoft teams where they say WPF allows fast prototyping for them.
Enthought Python Distribution. You create the model of your problem in python and then you say "create a UI for that" in one line of code. If you don't like some parts of the UI, you override the defaults for those parts (and nothing else).
Doesn't get faster than that if you're doing a Desktop app.
The resulting prototype will work on Windows, Linux and Mac.
If you're looking for a web RAD, I suggest to give Grails or TurboGears a try. TurboGears is easier to use, Grails gives you access to the vast space of Java web frameworks (hard to beat).
I'd say Python with wxPython
I find that prototyping using the Netbeans GUI builder gives me a great start. I'm a Java programmer mostly though.
Try out Axure RP Pro.
We did give it a try and found that it to be really very good. It generates the whole prototype in HTML with a few JavaScripts so it becomes easy to distribute prototypes.
Do check it out.
Handcraft
When you prototype any GUI interactively in the browser, you can go from as low or high fidelity as you want. Handcraft is focused exactly on prototyping, so it does a whole lot less than IDE's intentionally.
For working prototype:
non-gui: python
gui: ruby on rails
For mockups don't use IDE but some specialized mockup tool, read this here on SO: Whats the best way to create interactive application prototypes?
For hybrid approach (mockups then code): QT designer is the only viable option I found, due to it's specific architecture
There you go.