Google |
カグア!Google Analytics 活用塾:事例や使い方 |
TOKYO FM のラジオアプリが一般者配信にも対応 |
https://www.kagua.biz/marke/podcast/20220515a1.html
|
audee |
2022-05-14 21:00:17 |
海外TECH |
MakeUseOf |
How to Make a Phone Call From Your iPhone |
https://www.makeuseof.com/tag/the-ultimate-guide-to-making-a-call-using-your-iphone/
|
party |
2022-05-14 21:45:13 |
海外TECH |
MakeUseOf |
What Are TCP and UDP Ports? |
https://www.makeuseof.com/what-are-tcp-and-udp-ports/
|
computer |
2022-05-14 21:45:13 |
海外TECH |
DEV Community |
Back to Lisp Part 1 - Working Inside the Language |
https://dev.to/wesen/back-to-lisp-part-1-working-inside-the-language-1f9h
|
Back to Lisp Part Working Inside the LanguageI discovered Structure and Interpretation of Computer Programs in my late teens and quickly moved on to Common Lisp working my way up from a z macro assembler to various web frameworks and fun projects like a CAM system After years where I didn t work with Lisp at all I recently decided to go back and I am delighted by what I found This is a series of articles that articulate my thoughts about coming back to an old love and document the very practical things I found along the way When I mention Lisp in this article it will refer to either Scheme or Common Lisp the two languages I have actually used You can probably replace them with Emacs Lisp or Clojure or any other SEXP based language and follow along just as well I hate it when people write LISP uppercase as if we were still using something from the ies I m going with Lisp to convey a modern touch In this first article I will talk about what I missed most working inside a language REPL programming is the foundationWhile many languages offer a REPL read eval loop i e a prompt you can use to execute statements few adopt it as the central way to interact with your software system Notebook style interfaces are pretty common these days python notebooks R studio and Wolfram Mathematica come to mind but they are more about sessions and documents about exploring and dissecting data than large scale programming Other systems often come with a debug console you can use to inspect and modify the system at runtime think browser javascript console And finally scratch files that can quickly be executed are common in IDEs In Lisp projects you write functions and modules and packages in files as is usual in programming projects but you always have the compiler running along compiling what you write and giving you feedback on what you typed In traditional IDEs the IDEs understanding of the program is divorced from the execution environment either by being implemented in the IDE itself or being run in a separate Language Server Process With Lisp the compiler functions as LSP to help you interact with your code go to definition inspect etc as quick prompt to run experiments as debugger to trace debug instrument and interact with the actual running system as shell to manage your packages deployments builds and runtime systems With Lisp everything feels intimately and robustly connected Programming as language creation is explicitProgramming is about getting computers to do things for us But computers only really care about instructions that their CPU can execute Since our brains can t comprehend streams of assembly language we created programming languages coherent readable ways of assembling words and concepts so that we can collaborate amongst humans on the one side and have computers execute our ideas on the other Programming languages as in python javascript etc libraries frameworks naming conventions design patterns all contribute to create a programming dialect shared by people working on a project This language allows us to express solutions to the problems we are trying to solve in a way that is both executable by a computer and understandable by our colleagues More targeted project languages are often called Domain Specific Languages These dialects are shaped by frameworks and libraries used i e we use react and redux design patterns used we use higher order components and context providers for a global store code and naming conventions we call our handlers onX and our store actions are of the form verbObjectObject we use immer for imperative like store reducers The programming language used can be more or less flexible in terms of syntax domain specific languages often have to carry syntactical baggage around to express certain concepts For example you might implement state machines by using classes for transitions enums for states and certain naming conventions for event dispatching Javascript I think is so successful because it is a language that makes it easy to be creative and elegant with syntax Finding a satisfying API syntax and naming conventions for concepts can be tremendously difficult Impedance mismatch with the underlying programming languages can also mean that bugs are easier to make than they really should When transpiling or using advanced meta programming techniques the runtime errors are often hard to map back to the original code Dialects still feel like dialects modified lived bastardized versions of the underlying programming language Lisp languages don t really have much in way of syntax as you usually write the program in terms of nested linked lists representing the abstract syntax tree This gives you a much more simpler tool to not only create a programming dialect but actually modify the underlying grammar to allow for a much more concise expression of useful concepts This is a two edged sword as it is easy to create incoherent project languages with inscrutable grammatical extensions A project usually needs at most one or two grammatical extensions to support its project language and these are usually trivial for example an easy way to define state machine enums In traditional languages a clever closure pattern or some code generation will get you there just as well The beauty of Lisp however is during the ideation phase It is very easy to try out different syntax ideas move seamlessly between the meta and the practical level run experiments in the REPL massage syntax This makes it possible to quickly home in on what fundamental concepts for the project are and expressing them succinctly Javascript is an interesting language because it is very malleable It allows us to use many clever tricks to make dialects that look almost like languages Over the years many things and patterns have been tried in Javascript functional chains with lodash and underscore functional reactive programming with redux and react hooks effect programming with react hooks and many more I have never about Of course Javascript is also a widely used transpilation target bringing interesting innovations to the core language while still maintaining close similarity Source maps for example are an essential tool in making Javascript dialects useful in practice I missed experimenting with concepts at the language levelMy past experience with Lisp has deeply engrained this way of thinking in languages Even when programming PHP Javascript or C I will encounter patterns and ideas that I have explored in Lisp While I can t transform the language I am working with I can build a dialect that has sound grammatical foundations because I built it as a real language in Lisp I work with what I have syntax tricks naming conventions API design to make it as elegant and computationally airtight as possible Over time I forgot how easy it was to use Lisp to experiment with different approaches Designing a concurrent task language in C takes many lines of code and a lot of careful thought While you can sketch things out pretty quickly using macros and code generation or by being well acquainted with C templates you still wrestle with a lot of syntax and operational complexity In a Lisp language you can experiment by writing a program as you wish you could write it then implementing it in macros and then running it printing out ASTs in the REPL for debugging Building a grammar for concurrent data streams is an afternoon project Even though my main languages currently PHP Javascript and Golang are not Lisps at all I reconnected with this idea of creating languages and will keep on experimenting with concepts that I can then port over once refined |
2022-05-14 21:27:56 |
海外TECH |
DEV Community |
Ly - A Nerd's Display Manager |
https://dev.to/wenura/ly-a-nerds-display-manager-8of
|
display |
2022-05-14 21:00:39 |
Apple |
AppleInsider - Frontpage News |
Netflix could follow Apple TV+ in producing live streaming video |
https://appleinsider.com/articles/22/05/14/netflix-could-follow-apple-tv-in-producing-live-streaming-video?utm_medium=rss
|
Netflix could follow Apple TV in producing live streaming videoNetflix s next move could be into streaming live programming a feature that Apple TV has offered its users for just over a month As the behemoth of streaming Netflix is on the lookout for the next potential hit feature to encourage higher subscriptions After years of shaking up the broadcast industry with on demand streams it seems that the streamer may actually go down the live content route According to Deadline Netflix is looking into whether to offer live streaming to its users Netflix has previously confirmed it was in the early stages of creating a live streaming solution but had yet to announce a formal introduction of live content Read more |
2022-05-14 21:58:28 |
Apple |
AppleInsider - Frontpage News |
Compared: Apple 2022 iPhone SE vs Google Pixel 6a |
https://appleinsider.com/inside/iphone-se/vs/compared-apple-2022-iphone-se-vs-google-pixel-6a?utm_medium=rss
|
Compared Apple iPhone SE vs Google Pixel aGoogle s introduction of the Pixel a pits its latest Android smartphone squarely against Apple s iPhone SE but is it enough to pull away potential iPhone buyers over to the other side Google Pixel a left iPhone SE right Revealed during Google I O the Google Pixel a is a smartphone that is similar in concept to the iPhone SE in terms of ethos To provide consumers with a smartphone that offers the performance of flagship smartphone models but with cut down specifications and size to bring it down to a more wallet friendly price Read more |
2022-05-14 21:04:25 |
ニュース |
BBC News - Home |
Nine dead in shooting at Buffalo supermarket - reports |
https://www.bbc.co.uk/news/world-us-canada-61452958?at_medium=RSS&at_campaign=KARANGA
|
buffalo |
2022-05-14 21:37:58 |
ニュース |
BBC News - Home |
Brexit trade deal change must result in NI government - PM |
https://www.bbc.co.uk/news/uk-northern-ireland-61450794?at_medium=RSS&at_campaign=KARANGA
|
crisis |
2022-05-14 21:30:42 |
ニュース |
BBC News - Home |
Josh Taylor stripped of WBA super-lightweight title |
https://www.bbc.co.uk/sport/boxing/61452500?at_medium=RSS&at_campaign=KARANGA
|
lightweight |
2022-05-14 21:14:25 |
北海道 |
北海道新聞 |
NY州で銃乱射、7人死亡か バファローのスーパー |
https://www.hokkaido-np.co.jp/article/680901/
|
東部 |
2022-05-15 06:12:00 |
ビジネス |
東洋経済オンライン |
学童野球で野球好きを生む地域リーグが広がる訳 子供を育てる本格的な山陽フロンティアリーグ | 日本野球の今そこにある危機 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/588211?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
今そこにある危機 |
2022-05-15 06:30:00 |
コメント
コメントを投稿