Ответ 1
Для C в браузере http://codepad.org/ действительно отлично. Выполняет код и все.
Под "выполнением кода фрагмента" я имею в виду способность писать несколько строк кода, запускать и тестировать его, не запуская IDE и не создавая фиктивный проект.
Это невероятно полезно для помощи людям с небольшим образцом кода без создания проекта, скомпилирования всего, отправки им фрагмента кода и удаления проекта.
Я не спрашиваю о лучших фрагментах кода или редакторе фрагментов или о том, где хранить фрагменты!
Для С# я использую Snippet Compiler.
Для Java я использую Eclipse Scrapbook.
Для LINQ я использую LINQPad.
Любые предложения для других (лучше?) инструментов? например есть ли один для Java, который не предусматривает запуск Eclipse?
Как насчет C?
Для C в браузере http://codepad.org/ действительно отлично. Выполняет код и все.
Попробуйте ideone. Он может запускать ваш код на стороне сервера более чем на 40 языках программирования, включая C и Java (он бесплатный для индивидуального использования).
Для выполнения фрагментов JavaScript я использую большинство Firebug и консоль Google Chrome JavaScript.
Для F # я использую Интерактивная консоль.
Я иногда хочу попробовать что-то очень короткое, чтобы подтвердить семантика. Начиная с создания временного файла и ввода шаблона занимает более 30 секунд, у меня есть это script:
#!/bin/sh
body="$1"
out=$(mktemp /tmp/ccrun-XXXXXX)
src=${out}.c
cat > ${src} <<EOF
#include <limits.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define UNUSED __attribute__((unused))
int main(int UNUSED argc,char UNUSED *argv[])
{
EOF
echo "$body" >> ${src}
echo -e "return 0;\n}" >> ${src}
cc -std=c99 -Wall -Wextra ${CCRUN_FLAGS} -o ${out} ${src} -lm
shift
echo ${out} "[email protected]"
${out} "[email protected]"
#rm ${out} ${src}
Образец вызова (этот код статически инициализирует массив указателей функций) выглядит так:
$ ccrun 'int f(int a){return a+1;} int g(int a){return a+2;} int (*farr[2])(int) = {f,g}; for (int i=0; i<2; i++) printf("%d %d\n",i,farr[i](i));'
/tmp/ccrun-6nT4Wo
0 1
1 3
Если я хочу внести небольшие изменения, я просто отредактирую командную строку.
Если в командной строке это становится громоздким, я отредактирую
временный файл, в данном случае /tmp/ccrun-6nT4Wo.c
. Командная строка
аргументы исполняемому файлу могут быть указаны после программы (сначала
аргумент). Исполняемый файл остается на месте, поэтому его можно запустить
без перекомпиляции. Вы можете сделать что-то подобное для любого
язык.
В Ruby вы можете использовать Interactive Ruby Shell.
Похоже, что гуру в монопроекте пошел и сделал С# interactive. YAY
Для Python и Sage попробуйте http://live.codenode.org. Это также проект с открытым исходным кодом, лицензированный под BSD, поэтому его можно загрузить и запустить с вашего собственного компьютера. Подробнее здесь: http://codenode.org