Migrating from CS50 Development Environment - development-environment

I completed all the assignments on CS50 (with a great deal of help reading stackoverflow articles, thanks!) and I'd like to migrate to a "non CS50" environment to do the final project. I thought it would be relatively simple to move to Cloud9 since that's what the CS50 IDE is based on, but it's feeling like a pretty steep learning curve. I've got 3 hours into just trying to figure out how to install (or use if it's already installed) the sqlitebrowser (and still no luck).
npm install sqlitebrowser... nope
sudo apt-get install sqlitebrowser... nope (you get the idea, on and on it goes)
Given that, this is feeling like a month-long program just to get started.
I'm assuming there must be an easier way for a beginner to get started developing web apps, but googling "migrating from CS50 IDE" and the like has a stunning dirth of information, I can't believe I'm alone in trying to figure out my next steps, so I'm a bit puzzled as to why no one else is asking. Hopefully this is just a dumb question where I'm missing something obvious. Or maybe this is just the way it is, you have to invest a lot of time to get your development environment going? Is there a development environment that has a community that's friendly to beginners?
In any case, I'm sure there are some on here having gone this path, so before I spend a month on this path, I figured I would at least ask!

They mentioned Visual Studio Code at one point and it has been okay so far, but not as convenient as the CS50 IDE and a bit tricky at times. debugger often falsely flags text. Sometimes I have to run terminal commands in a separate administrator cmd window. Still it works.

Related

Is there a single working OCaml IDE?

I have downloaded multiple OCaml IDE's / plugins and NONE of them work. I have no clue if I have a directory problem or if something else is at fault. I can access the OCaml console through cygwin just fine but it is not very useful for dealing with larger files. I am a total OCaml noob and have no clue how to fix my problems. I have been reading every post on OCaml here and nothing is helping. I am hoping that somebody can help me because this is very frustrating! Thanks to all who reply.
OCaml modes for Emacs and Vim work perfectly (and they run on MacOS and Windows, of course). I heard Geany works well as well.
I'm not saying everyone must learn Emacs and Vim; I understand that it's a kind of interface that beginners maybe don't want to get into -- and supporting other editors well for OCaml is a problem that we need to fix. But if you want reasonable support for pretty much every kind of text format out there, they're still good choices.
Finally, if you have a decent terminal / command-line (if you are on Windows that might require running a GNU/Linux virtual machine), pretty much every editor will be fine if you compile stuff by hand from the terminal (which is not particularly hard). In-Editor support will still provide you with a better experience, in particular allowing to jump right to the place in your code where the compiler says there is an error, but as a beginner you can go a long way without even that.
PS: it would be extremely useful if you took the time to spell out precisely what your problem with each tool was, and send that information to the respective maintainers. I think the main problem with these tools is the lack of testers. Help the future people that will try these tools by helping the maintainers fix them!
I'v recently looked at OcaIDE for eclipse - and it seems to work.
You need perhaps set some configuration variables (paths to ocaml compiler,...), but I don't remember any quirks.
I would like to thank everybody for their help. I finally found some installation instructions for the tuareg mode in EMACS. In case anybody else is having the same problem that I was there are VERY clear instructions here
How to install tuareg
Hopefully I can now translate some stuff into OCaml that I have been working on in other languages and post some of my projects. Thanks again for all of the help.
You can use Notepad++ for Windows. It is more intuitive for than Vim or Emacs for the beginners. And it has a syntax highlighting for Caml and you can assign hotkeys for compiling executing the program.
I would suggest using OcaIDE. I've done some fairly large projects with it, and it's not bad. Emacs (with Tuareg mode) is also a good option. If you're having trouble with setup, I wrote a guide for OS X: http://www.princeton.edu/~crmarsh/ocaml_dev_environment/

D language dev environment

What is the current state of the art development environment for the D language?
I know about DDT for eclipse, Visual D and Codeblocks. Each has its disadvantages - DDT doesn't have a debugger, Visual D is for windows (and Visual Studio) and CodeBlocks doesn't have emacs keys bindings and I have some bad memories about it from my CS intro days.
Using tools like emacs + gdb is good enough for simple programs but when the code gets bigger I find it really hard to get around the code just with emacs. Without smart code completion and code layout (meaning, list of all functions/classes in a file) it gets really tedious and I feel I spend way too much time struggling with the editor instead of just writing the code I want to write.
Additionally, with Java+eclipse for example I have this neat documentation popup window whenever I mouse over a method/class. I find this extremely helpful, and really miss it when working in emacs.
And debugging with gdb is really just... antiquated.
So, for the love of god, save me from the 1970s! :)
Although, any tips concerning emacs and gdb (if nothing else exists) would be appreciated.
Have you looked at Mono-D?
Further, Sublime Text 2 has pretty good D support. I also maintain an improved highlighter for it.
I switched from Code::Blocks to Mono-D half year ago. However, there is a new kid on the block NetbeansD. For simple stuff Geany and Kate have enough support. :)
All this said, Mono-D beats all competitors at the moment, so try that one first.
Doesn't Emacs have GDB integration that allow you to do stepthough and add brakepoints - all in emacs?
I would suggest you try to configure your Emacs.
I also suggest using a good build tool(I use Rake when I program in Vim, but Emacs might have an elisp build tool), and the ctags and cscope really help in mapping big projects.

How to practice HAML and SASS (environment)

Could you please give me advice how its better to practice HAML and SASS.
I`ve downloaded and installed everything for windows and i can compile files and use it via command line. But still i want to be able to code and browse it at once, not writing anything in command line.
I mean what shall i do on my localhost to use it? Am i to use with any kind of engine, Drupal for example. Or is there a more simple way?
Thanks in advance!
I have recently discovered a free online SASS/SCSS-HAML editor, named Voyage, developed by Zhi-Qiang Lei (thanks!). Very useful for beginners to practice, and for everyone to test snippets quickly.
http://voyage-editor.herokuapp.com/
Hope it helps
Ok so, for Sass and Compass, you can always use the --watch flag to watch the modified files and recompile them on the go.
Now I reckon this doesn't account for HAML wich doesn't have a --watch flag, or other languages such as CoffeeScript etc. The best solution for the moment for a stable and easy to work with environment is to use an external software that will do the command line work for you.
There are several out there, I've tried out a few of them — depending on your current platform and how much you want to put in (from 0$ to 9$). I don't know a lot of free preprocessors manager so if people want to go and comment with free alternatives I'd be glad.
The best in my humble opinion is LiveReload because it's what I've tested to be the most permissive in your organization, it compiles fast, reloads your browser on change, etc.
Cons are it's best to use it on a Mac, considering the Windows version is still in beta and far from finished. But if you're on a Mac, to me it's definitely the way to go.
You can use FireApp too, it does the same job but it's a little less permissive. There are things you can't do with your Compass configuration files, folders you have to name a certain way, etc. It's also paying, but it's cross-plateform (coded in JRuby).
On the free side of life, you currently have CodeKit for Mac but it's free only during the beta and will become paying. On the other hand it's really worth it's money for how well executed it is and it will really make your life simpler.
You can probably go look on the internet for similar softwares, but you get the idea. Currently the best way to have an easy to use work environment while avoiding the command line is to go through those kinds of softwares.

What's the best way to use vim for Cocoa development?

First time poster, long time reader. I searched and found no questions that answered this question. If I missed a thread somewhere I apologize.
I've been looking at doing some serious Cocoa development for a few years now. Even attended WWDC back about 5 years ago. With the App Stores making things easier for distribution I figured now is about as good of a time as any.
There's also been a fair amount of discussion regarding Vim lately and how it can increase productivity once you get a good handle on it. So I've purchased a couple books on Vim and bookmarked a dozen or two websites that I've seen lately.
My question is what plugins or whatever could I use with Vim to make developing with Cocoa/ObjC better?
I'm familiar with the Cocoa.vim plugin, but looking at the site there it hasn't been actively worked on for around 10 months. Before I get used to the features in that plugin I'd rather look at alternatives that have seen more development (if there are any).
That said, I'm interested in any and all tips regarding Vim and Cocoa/ObjC. Any easy ways to integrate them? I know you can set MacVim as the default editor in Xcode. What else might someone be able to do? Doing a Command-R to build&run would be great (Cocoa.vim claims to do this), but again, lack of development makes me cautious.
Thanks,
gks
Install the XVim plugin for Xcode. It gives Vim-like key bindings to Xcode.
I start using Vim one month ago, so I'm not a master but I'm quite familiar now.
As a Cocoa developer, I've been also looking to integrate things better, but until now, even with cocoa.vim I think Xcode still better for "application development". With this expression, I mean developing the easy part, that is logic like designing controllers.
You may agree with me. That's the easy part. Writing IBActions and so on. We don't need many editing commands to do that, and Xcode has a lot of advantages here. The auto-completion is phenomenal, it's intelligent and reads what you have been typing like no other. And can you imagine things with Xcode 4? Dragging an outlet from the interface directly into code is something that will not be available in Vim in a recent future.
Now, when it comes to writing models with heavy logic and C things, I stick with Vim.
You see, I still need to learn a lot. I'd love to have Vim running in the exact place of Xcode editor, but while that doesn't happens I have been trying to get the best from both worlds. Xcode is not all about editing text, it's about developing and debugging and many more, and it does these things in a fantastic way.
I'll let more experienced users continue…
I use vim for every text editing job except Cocoa. I agree with the things Sidyll says about the advantages of Xcode. Xcode is a pretty decent development environment with it's native editor.
I do have my Xcode set so that a double click brings up the file in Vim. I use this for things like fairly complex find and replace with regular expressions.
Another feature I'd like to see in Xcode is support for literate programing. In Haskell I can compile a file wih lhs suffix, and run the same file through Pandoc (or txt2tags) and get an HTML or PDF version. With Xcode I have to keep my development notes in a separate file.

Build Machine Configuration Recommendations?

We have a new build machine to start using for our programming team. We are still trying to figure out how we want to organize everything to get the best configuration for building EXEs and DLLs.
We are using VB6 and VB.Net 2005, and VSS2005.
We were thinking of making working folders set for each project, release and support tickets. Does anyone have experience with a similar set up? What were your likes/dislikes? Any recommendations (New VSS IDs, folder configuration, setting working folder, updating/building files)?
be agile - just grow it and and don't be afraid to change as you go a long. Pick something very simple to start with and see how it goes.
Here is my simple environment. Decide what you want to do on a desktop to implement the joel test question #2. This in my experience is pivotal. Once you can do the complete build and test on a desktop with one (or a couple of) clicks then you have the basis for an automated build machine.
The trick is get this going quickly using what ever tools are at hand quickly - e.g. VSS and Cruise control, MSBuild etc, and tune. You should be able to get a pretty good (80/20 rule) in a few days of iterative effort.
Edit: Just to answer comment.
Yes you are correct is is be very beneficial to learn from other people experiences (not just their practises). However having set up build environments in may different companies I can say the best thing is once you start with some else's complexity you end up fighting other peoples requirements and assumptions. Yes I've now got experience and I can use that as a metric to start easily.
Watch out for issues when building VB6 components that depend on each other - see discussion in this question.