Skip to main content
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 ...
Berin Loritsch's user avatar
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 ...
Simon's user avatar
  • 1,774
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 ...
Laiv's user avatar
  • 15k
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. ...
JimmyJames's user avatar
  • 30.9k
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 ...
GrandmasterB's user avatar
  • 39.4k
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 ...
Becuzz's user avatar
  • 4,865
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 ...
Christophe's user avatar
  • 82.2k
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 ...
amon's user avatar
  • 136k
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++ ...
pjc50's user avatar
  • 15.3k
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 ...
Lie Ryan's user avatar
  • 12.5k
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 ...
Karl Bielefeldt's user avatar
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 ...
Robert Long's user avatar
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 ...
Ewan's user avatar
  • 84.4k
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, ...
Doc Brown's user avatar
  • 220k
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 ...
Daniel's user avatar
  • 141
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 ...
jonny's user avatar
  • 174
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 ...
Thomas Junk's user avatar
  • 9,623
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 ...
Greg Burghardt's user avatar
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 ...
schlenk's user avatar
  • 209
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 ...
Flater's user avatar
  • 59.5k
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 ...
gnasher729's user avatar
  • 49.4k
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 ...
James Youngman's user avatar
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 ...
amon's user avatar
  • 136k
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 ...
Nergal's user avatar
  • 313
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 ...
max630's user avatar
  • 2,605
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. ...
Martin Maat's user avatar
  • 18.6k
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 ...
Steve's user avatar
  • 12.6k
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 ...
Rob's user avatar
  • 312
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 ...
Laiv's user avatar
  • 15k
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 ...
l0b0's user avatar
  • 11.6k

Only top scored, non community-wiki answers of a minimum length are eligible