46
votes
Accepted
What makes a scripting language "embeddable"?
Embedding a language (I'll avoid characterizing it as "scripting") means that the following has been done:
The interpreter and runtime are running in the same process as the host application
Enough of ...
24
votes
Accepted
What is the right way to manage developer scripts?
Developer scripts go also into version control, because usually these scripts also depend on the items in version control, e.g. file paths.
If these scripts are versioned they also should work for ...
11
votes
What is the right way to manage developer scripts?
In addition to @simon's answer.
Not all in the software engineering is about programming, designing or modelling. There's a myriad of tasks we perform continuously during the working day. You already ...
10
votes
What makes a scripting language "embeddable"?
In theory any language can be embedded. If there are no constraints on the solution, it is actually the case. It's natural consequence of Turing completeness i.e. you can always build an emulator.
...
10
votes
What makes a scripting language "embeddable"?
The main factor is typically the API that's used by host applications to access the language libraries. Languages like Lua are designed to be easily 'connected to' from host applications. The ...
9
votes
Should we tailor APIs to the customer, or ask the customer to use the existing one?
If you've ever used RESTful APIs, you've come across at least one where you have to make multiple API calls to get all the data you want. It just kinda comes with the territory. The benefits of a ...
8
votes
Accepted
Quality Assurance for Large SQL Script Releases
The key of the problem is here:
Eyeballing the database afterwards helps but, it introduces a lot of human error.
Making this eyeballing more automated and systematic requires a good specification ...
7
votes
Why only scripting languages for automating tasks?
Scripting is automation. Scripting languages were specifically developed for automation tasks. They often have features that make scripting easy, e.g. simple mechanisms for invoking other programs or ...
7
votes
How to bind C/C++ functions for my language
Approaches vary, because it depends how your language works, but the general technique:
load the native code as a library using e.g. "dlopen()"
identify the function name (see "C++ ...
6
votes
What makes a scripting language "embeddable"?
There are a couple factors:
whether the language has support for embedding API. Some scripting languages like Python and Lua has officially supported APIs specifically designed to embed those ...
6
votes
Understanding C after getting used to scripting languages
One of the biggest strengths of C is also one of its biggest weaknesses: it has a very small runtime and standard library. This is a strength because it makes C very portable and highly reusable as a ...
6
votes
Quality Assurance for Large SQL Script Releases
Ensuring the test environment aligns closely with production is critical for reliable SQL script releases, as mentioned by @Christophe. This includes using anonymised or synthetic datasets that mirror ...
5
votes
Quality Assurance for Large SQL Script Releases
You can write small tests in sql at the end of the script and roll back if they fail.
You can test migration scripts by comparing the database schema against a known good state (your already migrated ...
5
votes
How to manage working directory in interactive development environments like Jupyter Notebook?
Excellent question. This is not just a problem of Jupyter Notebooks or Python. It is always a problem when code X calls a 3rd party script Y, and Y requires a special current directory or even worse, ...
4
votes
What is the right way to manage developer scripts?
I'm going to offer a somewhat more negative opinion. On the one hand, developer scripts that are generic, effective, and useful should of course be shared with other developers, and the best way to do ...
4
votes
Accepted
What is the proper structure for maintaining single page python scripts
If you haven't already, I would recommend reading PEP 8 for general guidelines on how to structure your Python code, and start following that for your future work. For guidelines on writing ...
4
votes
Accepted
Why are script languages so popular?
You are looking in the wrong direction:
But when comparing performances, they are not as efficient as VM languages or compiled languages.
The criterium you are using to answer this question is too ...
3
votes
How to Maintain Rarely Used Scripts
There is no single right way to do this. Bear in mind a few best practices for code in general:
Use version control
Put it some place you can access
Organize stuff in the repository
Document things ...
3
votes
What makes a scripting language "embeddable"?
Languages that are designed to be embeddable try to provide features to ease access for the host application. There are two layers to this, the actual language syntax and semantics and the runtime ...
3
votes
Accepted
Do you recommend having a template scripts?
If you find yourself copy/pasting code, nine times out of ten you're missing an abstraction. That's not a guarantee, but it is generally correct. Especially as a beginner, you're going to miss ...
3
votes
Should we tailor APIs to the customer, or ask the customer to use the existing one?
You are not tailoring your API to customers. Your boss wants you to tailor the API to his wild guess what customers might want.
As a customer of APIs (software developer, so I’m your customer, not ...
3
votes
Accepted
What are the best practices to design a "verbose" mode in command line scripts?
Log the planned action before you do it, and log the result when the outcome is known. The outcome message should repeat enough information about the action that the reader can understand what has ...
3
votes
Accepted
Using sed/awk to bulk generate static HTML pages off of a template
Yes, you can do that. No, it is not a good idea.
This is roughly how some websites worked in the 90s. That these approaches are problematic has nothing to do with their age, and everything to do with ...
2
votes
Script language native extensions - avoiding name collisions and cluttering others' namespace
Well realistically, it's not necessary to contain a global array of exported functions just to make them visible to your runtime environment.
A good question to ask is whether your runtime ...
2
votes
Why only scripting languages for automating tasks?
I don't think there is such strict rule. If the platform naturally supports compiled language it can be used as well. For example, I often use C# as a "scripting" language for Windows automation.
I ...
2
votes
Why are script languages so popular?
Script languages and compiled languages have different purposes so it is pointless to compare them in terms of "better" or "efficient". Note that execution speed is very different from efficiency.
...
2
votes
How to Maintain Rarely Used Scripts
Beware that even for the 5-man-day scripts you mention, if they were written off-the-cuff (i.e. unsupported by the formalities of strategic, team-oriented IT development) then after six months or a ...
2
votes
Accepted
Versioning an Application VS Versioning an Executable/Library
Historically, users could choose which version of an executable they'd want. More recently we developed more complex applications and I'm kind of trying to explain why this can't, IMO, not work for ...
2
votes
Accepted
Automate clearing everything (database tables, log files, etc.) and starting from a fresh state during development?
Dropping tables, clearing log files and caches, etc. get pretty tedious to do every time the server is restarted, so right now I have a simple shell script that I run called drop.sh
Any task you find ...
2
votes
Are mature dependencies less risky than state of the art ones?
There are many factors at play to choose between "fast" or "slow" upgrades. The main one is that unless you have an absolutely gigantic budget (time, people, expertise) you will ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
scripting × 136programming-languages × 17
python × 16
javascript × 12
java × 10
language-design × 8
c# × 7
php × 7
design-patterns × 6
c++ × 6
web-development × 6
c × 5
windows × 5
automation × 5
lua × 5
design × 4
security × 4
html × 4
server-side × 4
interpreters × 4
perl × 4
bash × 4
database × 3
programming-practices × 3
coding-style × 3